Android逆向快速定位
·
Android逆向
常用Android快速定位关键代码介绍
1、字符串,特征字
- 根据程序运行中出现的特征字词进行搜索,从而获取定位到程序相关位置之中,以前用的比较多,不过现在一般难以找到想要的关键字,有时候需要对特征字进行拆分来进行搜索,才能获得一点提示
2、关键api监控
- 通过挂钩关键的系统api,从而截取程序运行时候的数据,分析程序行为从行为上入手,一步一步地逼近关键点,这点算是比较难用到的技巧,需要对Android函数以及编程方面相当的熟悉,才能使用
3、挂钩解密函数
- 使用到Xposed或者cydia之类的Hook框架,手动编写Hook代码,勾取需要的函数,动态dump出需要的信息
4、Monitor
-
(1、DDMS
- Android Log信息,是Android程序运行过程中,产生的一些运行信息,这些信息可能是由于目标程序产生的,也有可能是系统进程产生的。总之,可以提供非常多的信息,遇到问题,先找log,肯定是对的。
-
(2、Thread
- 跟踪程序运行中的各个Thread的调用与运行类
-
(3、Method Trace
- 进程函数调用跟踪,一般会跟踪到很多的Trace函数,比较复杂,需要花费很多的时间去分析Trace数据
- startMethodTracing()—stopMethodTracing()
5、插Log信息
- 对自己关注的地方,手动插入log数据,自动打印出程序运行时候的参数
6、动态调试
- 动态调试很强大,熟悉了对程序分析很有用
从0开始打造自己的破解代码库
1、smali代码插入
- log插入为例
2、smali代码编写
-
如一个静态返回helloword的方法:
- .class public Lf8/helloword/helloStr;
- .super Ljava/lang/Object;
- .method public static retHello()Ljava/lang/String;
- .locals 1
- const-string v0,“hello word”
- return-object v0
- .end method
更多推荐
所有评论(0)