安卓逆向入门三
学习关键词: Jeb、动态调试、Log插桩
学习链接:《安卓逆向这档事》五、1000-7=?&动态调试&Log插桩
JEB学习
环境配置
- Java环境配置,我这里不细讲。没有配置过java环境的我建议去看看 多个 JDK 版本(Java 8、Java 17、Java 21)下载和切换 这篇文章,我的建议是一开始就做好java多版本共存的准备
下载JEB
JEB (Java Editor for Android) 是一款用于安卓应用逆向工程的工具,它可以帮助开发者分析和修改安卓应用的字节码。
-
jeb推荐jdk-11或jdk-17(我用的是jdk-11)
-
下载教程可以看这篇文章:JEB动态调试Smali-真机/模拟器(详细,新手必看)
-
本次学习下载正己提供的jeb安装包,下载好就可以使用,如果需要激活就去看上面的文章
动态调试
熟悉IDA的逆向人应该知道动态调试是什么,这里指的是Android动态调试,
修改方法:
修改debug权限
**方法一:**在AndroidManifest.xml里添加可调试权限
|
|

**方法二:**XappDebug模块hook对应的app
**方法三:**Magisk命令(重启失效)
|
|
**方法四:**刷入MagiskHide Props Config模块
-
一般来说,在4选项中如果有ro.debuggable那就直接修改
-
没有的话就选5

端口转发以及开启adb权限
- 版本号点击七次开启开发者模式并开启adb调试权限
- 有时候重新进入模拟器的时候usb调试会取消,需要手动开启
下断点
ctrl+b下断点
debug模式启动
|
|
adb shell am start -D -n adb shell am start -D -n 包名/类名 am start -n 表示启动一个activity am start -D 表示将应用设置为可调试模式


Jeb附加调试进程
常用快捷键: F6 进入方法 F6 跳过方法 F7 从方法中跳出来 R 运行到光标处

- 运行到断点

- 步进

得到参数值:5qKA5q61DAUM
Log插桩
定义:Log 插桩是在反编译 APK 后的 Smali 代码中插入日志输出语句,通过Log.v()等方法将关键变量、函数调用过程打印到系统日志,适用于无法动态调试或需要追踪后台逻辑的场景。
|
|

- 在应用里随机输入字符串,然后查看日志

