1. Android dx 工具: 把 jar 代码转换为 dex 代码的工具
可以手动转换出 dex 文件,然后利用 jeb 进行分析
Dx --dex --output=输出 dex 路径 jar 文件路径
2. Jeb 的基本操作
(1)重命名(n)
(2)跟踪(Enter, 双击)
(3)返回(Esc)
(4)前进(Ctrl + Enter)
(5)帮助(H)
(6)条目信息(I)
(7)交叉引用(X),源码交叉引用(Ctrl + X)
(8)注释(;or C)
(9)改变进制数(B)
(10)反编译(Tab)
3. 破解 Jeb 注册码
找到生成注册码字符串的函数,并对函数和类进行重命名标记
跳转到解码函数中
然后根据解密函数的代码编写一个相对应的程序
将 v1_1 修改为 v1,二者使用的寄存器都相同,但是因为类型发生了变化,所以出现了v1_1。同理,v0_1 也是如此。
4. Jeb 高级技巧(插件扩展)
(1)插件帮助文档:Jeb/doc/apidoc
(2)插件编写:
语言:Java or Python
入口:最简单的插件示例
强制反编译结果,相当于 Ctrl + F5
获取所有类的签名,以及获取第 i 个方法的反编译方法(Tab)
获取第 i 个方法的交叉引用
Jeb 字符串的还原脚本
找到检查注册码的函数
查看对比注册码的函数 ob 的代码,找到注册成功的标志位
查看注册码生成函数 Lickey 的代码,uomid 为机器码
生成机器码的函数
在进入到 Windows 对应的机器码生成函数中查看,最后一步步的往上回溯。
isKey()函数的分析