Android逆向快速定位

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

你可能感兴趣的:(Android逆向,Android,逆向,反编译)