安卓逆向笔记

Lesson 5

动态调试入门

开启调试的方法(jeb好像也会自动开启目标进程的调试模式):

  1. 在AndroidManifest.xml加一行配置:android:debuggable="true"
  2. 使用XAppDebug开启目标app的调试模式。

adb调试开启server:

1
adb shell am start -D -n com.zj.wuaipojie/.ui.MainActivity

这里的-n参数,首先是报名(MT、NP)可看,斜杠后是AndroidManifest.xml里的启动类,比如这里是android:name="com.zj.wuaipojie.ui.MainActivity",斜杠后就是启动类去掉包名——.ui.MainActivity

server启动后,雷电模拟器一般直接就自动开始调试了,然后使用jeb附加进程调试即可。

jeb的一些指令:ctrl+B下断点,F6步入,F7步过。

Log插桩

将日志所需的dex文件加入到app的包中,改名为classes{x}.dex的形式,然后在需要打印的地方加一行代码:

1
invoke-static {对应寄存器}, Lcom/mtools/LogUtils;->v(Ljava/lang/Object;)V

然后使用算法助手将目标进程Log捕获开关打开,重启算法助手再运行目标app即可。

Lesson 6