Android逆向快速定位

Android逆向java

经常使用Android快速定位关键代码介绍编程

一、字符串,特征字

根据程序运行中出现的特征字词进行搜索,从而获取定位到程序相关位置之中,之前用的比较多,不过如今通常难以找到想要的关键字,有时候须要对特征字进行拆分来进行搜索,才能得到一点提示api

二、关键api监控

经过挂钩关键的系统api,从而截取程序运行时候的数据,分析程序行为从行为上入手,一步一步地逼近关键点,这点算是比较难用到的技巧,须要对Android函数以及编程方面至关的熟悉,才能使用框架

三、挂钩解密函数

使用到Xposed或者cydia之类的Hook框架,手动编写Hook代码,勾取须要的函数,动态dump出须要的信息ide

四、Monitor

(一、DDMS

Android Log信息,是Android程序运行过程当中,产生的一些运行信息,这些信息多是因为目标程序产生的,也有多是系统进程产生的。总之,能够提供很是多的信息,遇到问题,先找log,确定是对的。函数

(二、Thread

跟踪程序运行中的各个Thread的调用与运行类调试

(三、Method Trace

进程函数调用跟踪,通常会跟踪到不少的Trace函数,比较复杂,须要花费不少的时间去分析Trace数据
startMethodTracing()—stopMethodTracing()进程

五、插Log信息

对本身关注的地方,手动插入log数据,自动打印出程序运行时候的参数ci

六、动态调试

动态调试很强大,熟悉了对程序分析颇有用字符串

从0开始打造本身的破解代码库

一、smali代码插入

log插入为例

二、smali代码编写

如一个静态返回helloword的方法:

.class public Lf8/helloword/helloStr;.super Ljava/lang/Object;.method public static retHello()Ljava/lang/String;.locals 1const-string v0,“hello word”return-object v0.end method

相关文章
相关标签/搜索