From:https://www.52pojie.cn/forum.php?mod=viewthread&tid=742250
jeb 动态调试 smali 代码:https://www.bilibili.com/video/BV1UE411A7rW?p=39
使用 JEB 调试 Android App:https://www.jianshu.com/p/a1a7cf687cd2
了解 JEB 和 IDA 使用:https://www.52pojie.cn/thread-414414-1-1.html
Java 分析工具 jadx、jeb 双管齐下:https://www.52pojie.cn/thread-457835-1-1.html
Jeb 软件简单分析:https://www.cnblogs.com/shyx/p/9273336.html
Jeb 软件是一款专业实用且为安全专业人士设计的 Android 应用程序的反编绎工具!
Jeb 官网:https://www.pnfsoftware.com/
jeb 动态调试分两种:
- 普通调试 模式
- debug 调试 模式
1. jeb 的常用功能
- 1. 反编译 apk、dex
- 2. 包名 树状图
- 3. 查看指定类的 smali 代码
- 4. 转换成 java 语言
- 5. java 代码中双击函数 进入函数方法的定义 ,查看方法的调用
- 6. 查看 AndroidManifest.xml
打开 JEB 软件
可以直接打开 jeb_wincon.bat,也可以进入 bin 目录下打开:
把 apk 拖拉到 JEB 中即可反编译 apk 双击 Bytecode 打开 smali 代码
双击 包名 下的 类名 即可查看 smali 代码
想把指定区域的 smali 代码转换成 java 代码 很简单, 只需右键 Q 即可 ,jeb3 的版本是 tab 键
或者:
双击方法即可跳转到方法的定义
点击方法按 x 键可以查看方法的调用
双击 Manifest 即可查看 AndroidManifest.xml
搜索功能 可以搜索函数 字符串等
说明:对于Android逆向来说JEB是不可或缺的一款软件 本篇介绍了JEB的一些常用功能 更多详细功能还需自行百度。
2. jeb 动态调试
jeb 调试 zhuceji.apk 找到注册码
普通调试 模式
https://blog.csdn.net/qq_33364733/article/details/98087384
1. 雷电模拟器打开 zhuceji.apk 程序,如图:
界面很简单,下面开始分析。
2. jeb 工具打开 apk 如图:
3. 下面开始对程序进行调试,debug ---> 开始 并找到相关进程双击进行调试:
4. 在 MainAtivity 的 onclick 下断点(鼠标点击要下断点的行:control+b 打断点),然后在模拟器中输入任意16位注册码进行调试:
5. 通过调试 smali 代码可以找到 checkSN 方法是解决问题的关键:
6. 右键点击 Decompile 查看 checkSN 方法对应的代码:
7. 通过 java 代码逻辑可知此寄存器的值就是我们要找的注册码,因此在 checkSN 方法 return 下断点,程序走到这时查看相关寄存器即可找到 注册码:
8.然后就是:
debug 调试 模式
debug 模式 和 普通模式的区别在于 启动过程
- 普通模式:无法调试界面的 创建,即 onCreate 函数
- debug 模式:可以调试 界面的 onCreate 函数,即刚开始创建界面是就开始调试
步骤:
1. 查看 application 节点 是否 为 可调式 。
如果是 False,则不能调试,需要改成 True 然后重新打包 apk,安装 可调试的 apk,然后 adb shell am start -D -n 应用程序包名/应用程序入口界面
这里可以看到 apk 已经 可调试。
2. cmd ---> adb shell am start -D -n 应用程序包名/应用程序入口界面:
adb shell am start -D -n com.qianyu.zhuceji/.MainActivity
执行完后,模拟器显示如图:
这时候,不需要点击弹窗。
3. 使用 jeb 开始调试( 这一步 和 普通模式 步骤一样 )
点击 附上 之后,模拟器的弹窗 自动消失,然后就可以在 jeb 中下断点、调试了。