首页
社区
课程
招聘
[原创]什么值得买| JEB Pro 3.12.0
发表于: 2020-2-14 15:32 23118

[原创]什么值得买| JEB Pro 3.12.0

2020-2-14 15:32
23118

自从 2019 年圣诞节有人放出了 JEB 3.7.0 破解版本,咸鱼了小半年的 JEB 终于开始发力更新了。。。

2020 年 1 月 10 号,JEB 发布 3.12.0,以及《JEB Android Updates – Lambda Recovery, Unreflecting Code, Generic String Decryption, and More》

ChangeLog:

JEB 最近的更新基本上都算回归正道,发力在 Dex Decompiler 的优化上,如今 JEB 的 DEX 反编译效果,代码可读性也比以前强了不少。再加上一些独有的优化,相信以后会打破 Dex 反编译不如 Jadx,Native 反编译不如 IDA 的局面。

这次虽然不是架构或者核心上的大更新,但是可以看到多出了一些比较实用功能。

JEB 虽然在 3.10.0 版本就开始支持在反编译时重建 Lambda 语法,不过这次是第一次公开写在 blog 里,也算是介绍新特性。 开源反编译器 Jadx 1.1 目前还没有跟上这个步伐, 可以看看他们俩的对比

源码:

-> 的那条语句就是 lamdba 表达式,作用相当于新建一个匿名类再实现对应方法,节省了好几行代码。

JADX:

Jadx 直接表现为一个匿名类。不过其实 Jadx 也算还比较好看了,

不信你看 CFR:

嗯.. 打扰了, 不过这个不能作为对比依据,因为 CFRJava Decompiler, 是先要做一道 dex2jar 然后才做的反编译

所以看看JEB 3.12:

emm, 还不错。 值得一提的是,有人可能觉得 JEB 没有像 Jadx 一样自动替换常量的功能,导致像 0x7F070090 这样的资源 ID 看起来很不友好, 不过其实你按 tab 键,切换到汇编视图,也能看到 JEB 帮你做好的资源常量注释,能让你知道这个 ID 代表的资源。

还有 setContentView 的时候,也会注释一个 layout 的注释

可以看到上面还有覆写的注释。还可以对资源 ID 进行交叉引用,将光标点到资源 ID,然后:

文件 -> 脚本 -> Registered -> AndroidXrefResId

这是 JEB 自带的脚本实例中的一个,结果如下:

这些都是 JEB3 以来不断优化的细节。

这个功能很易懂,就是将反射调用优化成正常的调用语句或者字段访问、赋值语句。

具体原理在 2013 年 JEB 发表过的《Decompiled Java Code Manipulation using JEB API – Part 3: Defeating Reflection》中,当时还是 JEB1 的时代,现在都快 JEB4 了,JEB 才把这个功能内嵌到 JEB3 里面,事实证明,一款软件不被破解就永远不知道自己还有多少功能需要更新!(hhh, 开玩笑,请多多支持正版。)

效果是这样子的

源码:

效果:

也有不足的点,

这个东西我研究了半天也没知道是怎么触发的,好像也没有开关。大概就是依赖 JEB 写的 ast.emulator 来动态的解密字符串并且把解密 Call 替换为常量。

虽然很实用,不用以后每次都手动写解密脚本,然鹅没学会咋用,估计还没完善吧。 放个官方效果图

Before:

After:

JEB 之前是支持的一直都是 DEX 反编译,这次也支持 Java 了,也就是说可以反编译 class 文件。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-6-3 10:54 被葫芦娃编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (10)
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
2
不错,字符串反混淆我研究了半天也没触发
最后于 2020-2-14 18:58 被sudami编辑 ,原因:
2020-2-14 18:58
0
雪    币: 864
活跃值: (2350)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
顶!吾师葫芦娃。
2020-2-15 01:25
0
雪    币: 26399
活跃值: (63262)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
4
感谢分享啊!
2020-2-17 11:48
0
雪    币: 15172
活跃值: (16837)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
5
感谢分享
2020-2-21 21:00
0
雪    币: 28
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
阿萨德阿达
2020-2-22 14:18
0
雪    币: 360
活跃值: (471)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我只想问3.7.0的破解版在哪下。。。
ps虽然注册很久了,但没在这里真正呆过。。如果这条触犯版规,请帮我删了,求别删封谢谢。。。。
最后于 2020-2-24 17:53 被fabl编辑 ,原因:
2020-2-24 16:28
0
雪    币: 344
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
8
膜拜大佬
2020-2-28 17:23
0
雪    币: 1202
活跃值: (172)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
字符串自动反混淆的开关在smali界面里, 右键菜单, "解析 with options" ,属性框, 第6行   
2020-10-29 10:27
0
雪    币: 1202
活跃值: (172)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
大佬们, 怎么改enum这种数字定义为对应常量名.....enum常量(比如悬浮窗参数), 这种...类似ida里"standard symbolic constant"....ida也有插件能自动命名msdn的...不知道jeb有没有...搜不到关键字....
2020-10-29 10:32
0
雪    币: 39
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11

更新了吧

最后于 2021-10-20 17:22 被戒酒的李白编辑 ,原因:
2021-10-20 17:21
0
游客
登录 | 注册 方可回帖
返回
//