自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (5)
  • 收藏
  • 关注

原创 android逆向之-反调试

一.检测特定文件通过文件监测方式,检测android_server文件问题:文件名可以更改二.监测调试端口1.通过adb shell->su>cat /proc/net/tcp2.默认端口23946转换成16进制,查看上一步结果是否包含对应的16进制问题:端口号可以更改三.进程信息监测类似文件名检测四.TraceerPid监测1.proc/%d/status,传入pid,读取到进程2.进行TraceerPid,TraceerPid长度进行比较五.防附加检测原理:IDA调

2022-02-14 18:05:57 1642

原创 android逆向之 Frida

一.安装 python 并配置环境1.python 下载地址 https://www.python.org,自行选择版本2.编写工具 PyCharm 下载地址:Pycharm 下载安装好之后配置环境变量,此步骤自行利用搜索引擎解决二.安装 Frida 并配置环境①命令行安装frida下载地址:https://pypi.org/project/frida/#frida-tools地址: https://pypi.org/project/frida-tools/#history(会自动根据 too

2021-05-20 17:00:27 1130

原创 android逆向之 hook

一.原理android每打开一个 app,zygote 进程 fork(进程复用)出一个虚拟机来运行 app,xposed 就是通过改造 zygote来实现对 app_progress的替换二.安装 xposed 支持1.版本 Xposed Installer2.版本 EdXposed (支持高版本:https://repo.xposed.info/module/org.meowcat.edxposed.manager)三.编写步骤1.新建项目2.更改 AndroidMainfest.xml

2021-05-18 15:06:01 646

原创 android逆向 APP保护策略

㈠.反混淆通过jeb工具,可以提升java混淆之后的代码的可读性,混淆只针对可读性,逻辑不会更改,底层 smali 不会更改调试模式:adb shell am start -D -n 报名+类名端口转发:adb forward tcp:端口号 jdwp:端口号㈡.资源对抗apktool 反编译之后,androidkiller回编译出现的资源报错问题,可以先通过压缩工具拷贝资源,或者 MT 管理器备份资源,然后拷贝资源到 androidkiller 回编译1.androidkiller 反编译的时

2021-05-06 16:51:11 164

原创 android逆向ARM 分析入门【Ⅱ】解析

㈠ARM解析-IDA修改数据1.修改寄存器的值在 General registers 窗口右键要更改的值,然后输入2.指令对应的值在Hex View窗口,右键要更改的对应值,然后输入3.要更改指令光标选中指令,然后再 Hex View 窗口指令上右键点击 Edit->然后输入值>右键 Applay changes指令转换和计算可以用工具:ArmToHex4.更改为 NOP 指令更改指令前 8 位为:00 00 00 00,意思为不执行5.三级流水线当前执行的指令位置,下一条

2021-04-28 16:54:53 271

原创 android 逆向ARM 分析入门【Ⅰ】IDA 使用

ⅰ.相关快捷键 1.text展示跳转和逻辑展示切换:空格 2.返回上一级:Esc 3.跳转到指定地址:G,然后输入地址 4.对符号重命名:N,然后输入名字 5.加注释:Control+:然后输入注释 6.添加标签:Alt+M ;查看标签:Control+M 7.查看段 : control+S 8.查看引用 : control+X 9.搜索文本 : Alt+ T 10.搜索十六进制 : Alt+ B 11.重命名类型和名字:Y 12.伪代码汇编切换:TAB

2021-04-20 13:54:23 274

原创 android逆向JEB 分析 smali 代码

继续分析流程和过程中遇到的问题Ⅰ.设备列表找不到调试设备1.设备未连接,需要连接设备2.设备未开启 USB 调试模式,需开启3.adb 服务异常,adb kill-server -> adb start-server4.查看设备列表,adb devices5.查看设备是否被占用,例如:as 开启了或其他工具占用了6.启动就闪退,低版本 jeb 需要匹配 jdk 版本Ⅱ.开始调试1.开启 jeb 工具2.导入或拖拽 apk 到 jeb 工具3.等待解析完成4.找到相应的代码,光标

2021-04-14 18:13:29 172

原创 android逆向基础【Ⅲ】Dalvik指令

通过前两篇介绍,你应该知道如下几点:==1.==虚拟机分类和机制==2.==字节码和寄存器==3.==反编译dex文件之.class -> .smali 变换流程4..class -> .smali过程中涉及到的相关工具和下载说明基础知识很枯燥,也很重要。本片文章呢,主要介绍操作指令,通过不同指令完成各式各样行为动作。Tip(规定):A/B/C/D/E/F/G/H 表示4位数值wide指定操作的数据宽度为64位(2个32位,至于为什么看前面的文章)from/16表示源寄存器16

2021-03-08 13:08:50 246 2

原创 android逆向基础【Ⅱ】Dalvik字节码

内容是啥不要紧,有啥不对提出来,我会及时纠正,相互进步一.字节码和数据类型Java类型字节码类型booleanZbyteBcharCfloatFintIlongJshortSdoubleDvoidVjava类型L数组[标记的不是首字母,需要注意!二.Dalvik 寄存器命名方式1.v命名法 局部变量命名方式:V0-Vn,参数命名方式:Pn-Pn+m2.p 命名法 局部变量命名方式:V0

2021-03-04 19:28:09 93

原创 android逆向基础【I】虚拟机概念

写在最前面:我是有一点安卓经验的,所以很基础的一些东西,我这里就不累赘了,只是作为日常笔记!加粗样式

2021-03-03 16:22:50 108

原创 Tomcat server.xml详解

此文章只为学习记录最近捣鼓写服务器,觉得自己有编程基础,就很不注重基础,直接高楼就起来了,然后把项目跑起来之后,能正常访问了,很嘚瑟的! 后面,问题就来了,在阿里云弄了一个域名,想通过域名来访问项目接口,蒙圈了,完全不知道怎么整,这个时候,搜索引擎用得可溜了,一番猛操作之后,发现,问题还没有解决,每个人问题不一样,解决方法不一样,同一个问题,搜索引擎出来的解决办法各种各样,最后呢,还是老老实实补...

2019-11-02 11:16:08 448

原创 walle(瓦力)多渠道打包

网上介绍walle多渠道打包的太多了,我这里记录一下,自己多渠道打包+360加固(乐固)遇到的渠道丢失问题和解决办法,如要看多渠道打包,移步我之前的文章walle渠道打包直接介绍步骤步骤一:gradlew clean assembleReleaseChannels -PchannelList=oppo //进行渠道打包步骤二(有需要的注意):这里使用第三方加固(360、乐固),加固的时...

2019-10-23 12:07:59 906

原创 字符串拼接、效率对比

字符串拼接,大多数时候都是直接选择+这种简单、暴力的方式,如果数据量感觉不到对性能影响有多大,实际在不同的场景,选择不同的拼接方式,还是很有必要的,而且+这种方式看着就很Low,是不是?下面对几种字符串拼接做下对比:第一种:+ 拼接intString str = "拼接第";long startTime = new Date().getTime();for (int i = 0; ...

2019-01-07 17:51:15 1364

原创 Android Walle多渠道打包

      对于app运营来说,通常需要我们的APP统计在各大应用市场的下载和具体使用情况,这个时候我们就需要引入友盟统计或者其他第三方统计,包括各个市场相对应的包,渠道一多,打包就慢了,所以Walle快速打包诞生了!!     传统的渠道配置方式是在AndroidManifest.xml接入配置<meta-data android:value="YOUR_APP_KEY" and...

2019-01-02 17:15:01 1814

原创 HashMap HashTable LinkedHashMap TreeMap区别

HashMap1.允许键、值都是null(键只允许一个,值可以多个)2.键重复,就直接执行值覆盖3.顺序是不确定的4.超过初始容量,将以二倍递增,大数据情况下内存开销大5.不支持线程同步,如果需要做同步,需要使用Collections的synchronizedMap方法使HashMap具有同步的能力6.读写速度和容量有关 HashTable与hashMap基本等...

2018-12-28 11:07:40 645

原创 Shape、Gradient渐变、边框一行代码搞定

设计有三宝:圆角、渐变、阴影对我程序来说,圆角、渐变是日常。要么写shape文件,要么直接引用开源库来实现圆角渐变等效果。 这里给大家推荐一个开源项目,专门打造圆角的圆角神器 下面提供一些圆角、渐变的方法和工具类,开源和本地随意选择主要支持:1.可定义边框及其颜色和填充色的 /** * @param solidColor 填充色 * @param ...

2018-12-24 17:29:15 1067

原创 RecyclerView刷新闪烁问题

RecyclerView相比传统的ListView无疑是一个更高级别且灵活性更强的一个控件,主要可用于数据列表展示第一步:RecyclerView的基本使用,属于普及知识→_→1.布局管理LayoutManager有三种: LinearLayoutManager(线性布局) GridLayoutManager(表格式布局)StaggeredGridLayoutManager(瀑布流式布局)...

2018-12-21 10:38:48 14084 2

原创 Handler 机制和源码解析

现在网上关于Handler的资料,已经是数不胜数,总归还是要亲自走一遭才能深刻的理解。在之前,我们先来了解下Handler、Looper、MessageQueue、Message之间的关系它们的关系就想全家桶Rxjava+RxAndroid+ReTrofit2+okHttp3一样亲密→_→Handler:用来发送消息,处理消息Looper:一个消息轮询器,内部有一个loop()方法,不停的...

2018-11-22 11:07:38 243

原创 android Application使用见解

Application作为贯穿整个应用的必不可少的一个类,必须要知道它能做什么,有什么缺点。所以,这篇文章主要从Application 源码方面解读一.Application和Dalvik的关系一般情况下app只会有一个虚拟机,一个虚拟机只会有一个application,也就是说一个Application只会存在一个Dalvik还有一个app多进程,就意味着app拥有多个A...

2018-11-14 11:54:54 337

原创 java 中的while(true)和for(;;)的区别

今天研读Handler源码的时候发现在Looper死循环里面对消息循环的代码是这样子写的public static void loop() { //获得一个 Looper 对象 final Looper me = myLooper(); // 拿到 looper 对应的 mQueue 对象 final MessageQueue queue = me.mQueu...

2018-11-12 10:46:54 1441

原创 超级简单实用的垂直(竖直)进度条

东西比较简单,就不说那么多,只为日常方便代码注释特别清晰,就不多解释了支持属性: progress_radius 进度条圆角大小 progress_border_enable 进度条是否有边框 progress_gradient_enable 进度条颜色是否渐变 progress_start_color 从上到下进度条开始的渐变色 ...

2018-11-01 16:26:37 6240

原创 Android WebView 的**shouldOverrideUrlLoading**方法不被调用

Android WebView 的shouldOverrideUrlLoading方法不被调用webView使用还是很频繁的,尤其是电商、导购类app,他们需要用webview加载购物页面、活动页面等,然后有一些特殊需求需要拦截加载的url。都知道,要想拦截url,我们必须重写shouldOverrideUrlLoading这个方法问题来了:shouldOverrideUrlLoading方法...

2018-10-22 13:37:49 13937 6

原创 android Error:Please select Android SDK 问题集锦

这个问题字面意思很容易看懂的,就是SDK没有,要选择合适的SDK编译。可以,按照这个流程,我们一步一步走,看看:打开Android Studio Setting >> 找到Android SDK选项 >> Android SDK Location 旁边的编辑按钮Edit点击查这里会有两种情况: 1.android sdk真的没有下载,这个时候,你就要下载一个...

2018-07-23 10:17:26 1864 6

原创 搭建自己的mvp项目

一.在看mvp之前我们首先应该了解android 中的三层架构1.View层(直接展示给用户的)2.业务逻辑层(桥接View层和数据访问层的,处理交互、业务逻辑)3.数据访问层(对数据库操作)二.传统的mvcM-Model:对应用状态、业务功能的封装操作,接受Controller的调用完成业务处理,并发起通知更改ViewV-View:界面展示,调用model的状态信息并显示C...

2018-07-03 11:41:06 484

原创 android 多渠道打包不同的包名、应用名、应用图标

android 开发者都会碰到多渠道打包的需求,多渠道打包的流程大致如下:在build.gradle文件中的与defaultConfig同级添加:productFlavors{渠道1 渠道2};这是最简单的添加多渠道打包过程,需求稍变一下,我需要同一个手机,安装多个app。这里,这样简单的配置就不够了,需要做定制化处理了 eg:productFlavors{ xiaomi { ...

2018-06-21 15:26:46 5240

原创 X5内核不兼容的问题32-bit instead of 64-bit

最近项目导入了X5内核做webview兼容,引入之后,在测试机上崩溃了,日志如下: TBS:initX5Core – loadSucc: false; exception: java.lang.reflect.InvocationTargetException; cause: java.lang.UnsatisfiedLinkError: dlopen failed: “/data/data/c...

2018-04-02 11:48:13 4318 1

原创 【Android-2】andorid stuido failed :Connection refused, pom文件下载不下来

最近用android studio拉一个新项目,拉下来之后,gradle就一直显示在下载 xxxxx.pom等一堆文件,速度非常慢,长时间等待之后能运行吧,我也就不说啥了,就是等了没结果,还出来一堆错误。相信,很多朋友也都遇到了和我类似的情况吧。遇到这种情况呢,大多数人的第一反应:翻墙! 翻墙不是万能的,我们得看问题到底出在哪儿了。下面是错误日志: >Could not re...

2018-03-27 10:02:22 1304

原创 listView中item带编辑框,输入、数据错乱等问题

在项目中,listview控件使用率是很高的,自然的,viewHolder就是必备了,这个view的复用,在某些情况下,会引发其他问题,由于复用机制问题(顶部滑出的itemView,会被底部滑出的复用),所以,如果是存在输入框的情况下,输入一行内容,其他复用的对应行,也会相应的填充下同样的内容,如下: 2.同样,我们尝试着删除输入项的内容,也会发现被复用的item内容也被删除了 我...

2018-02-28 09:47:27 1315 1

原创 初识kotlin

一.背景介绍 kotlin 近期被谷歌钦点为官方语言,对于andriod程序员来说,被谷歌钦点的,就相当于国家颁布的法令,多少都得学习或者了解一些,我也不例外,今天开始尝试kotlin,据说100%兼容java.二.环境配置步骤1:工欲善其事必先利其器,做啥都一样,先搭配环境吧。android studio支持kotlin的版本目前只能用开发版,所以先去官网下载一个3.0预览版~ 下载地

2017-05-25 18:06:46 323

常用ARM指令集.txt

常用ARM指令集.txt

2021-12-28

ArmtoHex.rar

汇编命令转 16 进制

2021-04-28

smali_out.zip

学习操作指令的时候可以辅助学习,逆向参照使用

2021-03-08

Dalvik指令集.doc

安卓虚拟机的操作指令文档

2021-03-05

圆角和渐变工具类

日常圆角、渐变,写起来让人非常头疼。app要用户体验好,又必不可少。开源项目有,一个工具类更简单快捷

2018-12-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除