jeb2.2.7动态调试apk

关于jeb

  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的功能。这里就不赘述了。
至于软件的下载方式,大家搜一搜,就能找到的。
好了,就到这里。

Comments
Write a Comment
  • 老大,能不能不让左边的圈圈转..

    很影响看右侧的文章..

    分神

    真的很分神

    ps:蝴蝶刀么。。

    我知道是长什么样子

    进来是为了看jeb调试的

    over

  • 95 reply

    ddms在哪里啊?调试说找不到安卓设备..

  • 921977939 reply

    真tmd垃圾,连p0都看不了

  • 516257689 reply

    链接不上模拟器怎么办

    • 123 reply

      @516257689 模拟器我没有尝试过,你换个真机试试,做好是安卓5.0以上的

  • 友人A reply

    我鸭好强!

  • yangs reply

    mac版本调试 直接报了java.lang.NullPointerException

    • balis0ng reply

      @yangs 用安卓5.0以上的版本试试

      • yangs reply

        @balis0ng 测试手机就是android 7.1.1