首页
论坛
课程
招聘
[原创]几款Android反编译器对循环结构的还原能力测试记录
2019-6-26 11:29 9577

[原创]几款Android反编译器对循环结构的还原能力测试记录

gjden 活跃值
13
2019-6-26 11:29
9577
收藏
点赞8
打赏
分享
最新回复 (35)
雪    币: 76
活跃值: 活跃值 (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
mingxuan三千 活跃值 2019-7-11 13:56
26
0
666
雪    币: 164
活跃值: 活跃值 (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
gotyou 活跃值 2019-7-11 14:42
27
0
monkeybar (Sorry, my Mandarin is not good enough for me to write an answer in chinese, so I'll type it in Engl ...
你是老外吗,感觉此帖引来了pnf公司的人了
雪    币: 390
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
kanxue666 活跃值 2019-7-11 20:17
28
0
楼主搞得真高端,完全达不到的高度,膜拜大神!
雪    币: 3261
活跃值: 活跃值 (648)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
billery 活跃值 2019-7-11 22:16
29
0
monkeybar (Sorry, my Mandarin is not good enough for me to write an answer in chinese, so I'll type it in Engl ...
逮到一名老外真能写,这么长篇幅。
雪    币: 2
活跃值: 活跃值 (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
monkeybar 活跃值 2019-7-12 04:56
30
0
gjden 首先要明确的是本文并没有否定jeb也对其没有偏见,每个工具都有他的优缺点,就连优秀的苹果系统也很多人吐槽难用。本人也是非常喜欢JEB,只是本文内容限制在对循环结构的还原上,专门针对的是结构化算法的测试 ...
Hello. The variable `a` is simply discarded in the first case because the decompiler has determined that it is no longer "in use" (basic data flow analysis here). If you were to make it used, for example by returning it, then it would necessarily be kept.

See the example below, I used JEB 3.6, same as my last message.

雪    币: 241
活跃值: 活跃值 (291)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hackevil 活跃值 2019-7-12 05:40
31
0
monkeybar Hello. The variable `a` is simply discarded in the first case because the decompiler has determined ...
3.6都出来了啊,我等还在用2啊,能不能分享出来用用,看样子新版本的确有不少改进了,估摸着版主大大也没这么新的版本。
最后于 2019-7-12 05:40 被hackevil编辑 ,原因:
雪    币: 692
活跃值: 活跃值 (83)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
kwanhua 活跃值 2019-7-15 18:40
32
0
确实的,最新版我也用过,无论是否最新版本,我发现jeb是会对没用的参数进行一些删减操作的... 还有就是@版主大大你文章里面的“语义不变性”,这个如果是针对整个函数的话,jeb丢失的块,对这个函数的输入输出,以及中间对输入处理的流程没影响的话,那么语义也算是不变吧...毕竟还是将,“什么东西”,“怎么做”,“达到什么效果” ,都表达清楚了。
雪    币: 214
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
ymlovel2019 活跃值 2019-7-24 22:55
33
0
这个真牛,学到了,感谢
雪    币: 11428
活跃值: 活跃值 (14857)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
有毒 活跃值 10 2020-2-22 18:35
34
0
先自己好好学习,感觉跟不上了
雪    币: 1936
活跃值: 活跃值 (364)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hackings 活跃值 2020-4-13 22:29
35
0
版主玩得相当高端,调查了下,三款反编译器采用不同的内核,jadx用的老Java反编译器jad的内核,原作者拿来针对Android做了改进优化,所以要么反编译效果很好,要不反编译不出来,直接显示IR;jeb从老版本来看非常像采用了古老的ddc反编译器的结构化算法,前期版本反编译效果的确比较差,后续优化后也还不错,毕竟商业化对改进优化有动力;版主的反编译内核从历史版本来看是自己搞的,从头搞,还用c++,这点的确很佩服,算是唯一一个c++Android反编译器,面对复杂的method还是不太理想,大部分反编译效果也很棒,不过也算是唯一一款拿的出手的国产反编译器了。最后要说的是三款反编译器各有千秋,都很牛叉,哈哈
游客
登录 | 注册 方可回帖
返回