安卓逆向(二)-apk动态调试

apk动态调试

Posted by hmoytx on December 3, 2022

安卓逆向(二)-apk动态调试

前言

跳过一些内容,关于smali语法,静态分析资料很多,不重新写,主要记下之前动态调试的学习过程。

环境

android studio或idea,这里我是用的idea。
Jeb是一款专业实用且为安全专业人士设计的Android应用程序的反编绎工具。
安装:

https://down.52pojie.cn/Tools/Android_Tools/

准备工作

要进行app调试,需要以调试模式启动app。
需要改apk中的manifest设置为可调试,或者修改安卓的ro.debuggable为1。
执行命令:

adb shell am start -D -n  "com.xxx.xxxx/.MainActivity”   

1
此时手机或者模拟器会出现如下界面,然后才可以在idea或者jeb中去进行调试:
2

jeb动态调试

先打开jeb,把要调试的apk拖进去。
3
找到想要观察的地方,通过ctrl+b下断:
4
然后再完成最前面的准备工作,就可以开始调试了。
找到对应的设备和进程,附加进程就可以了。
5
然后就去触发断点,就会断下来。
6
然后就可以愉快的调试了。

idea动态调试

要通过idea或者as调试apk,首先要安装一个插件。
7
然后先对要调试的app进行解包,用apktool,然后导入idea。
8
右键点击smali文件夹,设定Mark Directory as -> Sources Root。
9
然后设置断点:
10
同样调试模式打开app,然后配置idea去连接jdb。
11
然后就可以开始run -> Debug了。
12
触发断点,就可以断下来了。
13
然后就可以愉快的调试了。

总结

主要记下之前动态调试的学习过程,两种方式都可以,看自己选择。