jeb2.2.7动态调试apk
JEB是Android应用静态分析的de facto standard,除去准确的反编译结果、高容错性之外,JEB提供的API也方便了我们编写插件对源文件进行处理,实施反混淆甚至一些更高级的应用分析来方便后续的人工分析.jeb凭借其牛X的保护措施和高昂的售价,使得诸多普通逆向爱好者望而却步。
不过最近国内一些论坛爆出了jeb的2.2.7破解版本。据说jeb从2.2开始就支持动态调试了,在没有这个之前,我一直用的androidstudio+smalidea来进行调试的,比较麻烦。试用了一下jeb的动态调试功能表示很不错。
其实很简单,不过其中有几个小细节需要注意,首先打开我们的jeb,将apk拖入jeb,如图:
我们双击一下Bytecode。然后会出来两个窗口,一个是smali代码的窗口,一个是apk的结构,如图:
然后我们双击一个类,就可以调到该类的smali代码,如图,我双击KeyListener这个类:
就会自动跳转,这个时候按一下快捷键q就能反编译成伪代码,如图:
然后我们回到smali代码找个地方按ctrl+B下断点(取消断点也是改快捷方式),如图:
然后我们开始debug,点击这个按钮:
然后出现选择如图所示,选择设备和进程,带D的就是该apk的进程
注意:此时不要开启ddms,不然会出错的
然后点击attach,不出意外就能成功attach上了。
然后我们触发断点:
像这样,就说明成功触发了:
这个时候我们查看VM/Breakpoints这个窗口,就能看到变量的值了,但是这里有个小问题,可以看到v3这个地方应该是个字符串,但是显示的确实数字:
所以这个时候我们需要自己动手改一下啦,将int改为string,就能够正常显示啦!
可以看到自动显示了我们输入的字符串为balisong
这里比较方便的是,从伪代码也能看到该变量的值。
然后其余的比如F6可以单步步入,从上面菜单可以看到debug的功能。这里就不赘述了。
至于软件的下载方式,大家搜一搜,就能找到的。
好了,就到这里。