首页
社区
课程
招聘
Luyten+Procyon 0.5.26
发表于: 2014-10-24 16:50 3592

Luyten+Procyon 0.5.26

scz 活跃值
5
2014-10-24 16:50
3592
2014-10-24 16:06 scz

Luyten只是Procyon的GUI前端。Luyten 0.4.2用的是Procyon 0.5.25。Procyon时至
今日的最新版是0.5.26。

由于"Maven Central Repository"中目前只有Procyon 0.5.25,即使自己编译Luyten
源码,仍然只能与Procyon 0.5.25配合使用。如果强行替换Luyten.jar中所依赖的
Procyon的class为0.5.26版,会出错,因为0.5.26与0.5.25相比,有一些类改变过。

我把Luyten与Procyon解耦成Luyten.jar、procyon-decompiler.jar。GUI部分与反编
译部分没必要紧耦合。

附件里的Luyten.jar、procyon-decompiler.jar是Procyon 0.5.26。假设以后有
Procyon 0.5.27,只需要替换procyon-decompiler.jar即可。

procyon-decompiler.jar我做了一些小改变。主要是Procyon 0.5.26引入了新BUG,
在处理一些异常inner class时会触发访问越界。其次Procyon对函数形参、局部变量
的智能重命名有重大BUG,尤其当目标被混淆过的时候,我觉得对于看惯了汇编的同
学们,还不如直接面对param_n、loc_n来得干净。我只针对这两点做了改动。

如果有洁癖,可自行下载官方原版procyon-decompiler-0.5.26.jar,将名字改成
procyon-decompiler.jar即可。Luyten.jar就没办法了,为了解耦,这是从源码重新
编译来的,虽然完全未改源码。

话说我本来雄心勃勃地想在Procyon基础上改改,把它那些稀烂的BUG都改掉,但确实
水平太低,不足以在短时间内完成这个幻想,只能慢慢跟它磨了。解耦Luyten与
Procyon的目的之一就是多拉些人进来测试,肯定有一堆人已经积累了不少测试用例
甚或修补方案。如果有朝一日我又改了它的一堆BUG,还会发出来的。

呃,给作者反馈BUG,人家不理我。要不然我就只提测试用例了,哪用得着自己读代
码来改啊,满目都是泪。

CFR也不错,不过作者没开源,我也懒得在反编译结果上修补CFR的BUG,所以就没拿
它动刀。Krakatau相对BUG最少,是Python写的,个人觉得还是Java写的调试起来顺
手些,所以也没动它。JD-GUI、Fernflower、JAD不开源,没啥好说的。jadx-gui目
前测到的情况是,对synthetic class members及inner class的支持有大问题,估计
与它主要对付DEX有关;它倒是开源,可惜解析class时依赖dx-1.8.jar,后者未提供
源码。jclazz开源,但2009年停止更新。

于是,我只好跟Procyon死磕了。

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 6362
活跃值: (707)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
顶!
luyten procyon 都用过,感觉还是 cfr 效果好些,虽然不开源,但作者更新速度还是不错的
一般 jdjui 、JEB 1.5 、 cfr 一起用,基本问题不大。
楼主以前破解的 JEB 我以前也搞过,验证部分都找到了,但是不知道该怎么去除。。。
最后由于事情比较多,也不了了之  -_-!  后来看了大神帖子,醍醐灌顶!
向大神多多学习
2014-10-24 21:28
0
雪    币: 424
活跃值: (1884)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
感觉procyon好用些,反出来的代码可编译度相当高啊
2014-10-27 09:58
0
雪    币: 4844
活跃值: (3842)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
4
你这个感觉不是太靠谱。一般人都会有一个自己特别钟爱的反编译器,然后用得多些,所以可以理解。
我一度特别钟爱JD-GUI。

事实是这一堆反编译器各有各的痛、各有各的爽,经历过的反编译目标越多、越复杂,就会发现我说
的这个才是常态。JAD这种老掉牙的,都有它继续存在的价值。
2014-10-27 11:00
0
雪    币: 4844
活跃值: (3842)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
5
Luyten和Procyon没有可比性,完全是一回事。
2014-10-27 11:03
0
雪    币: 424
活跃值: (1884)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
6
确实各有各的痛,但目前总体来说,procyon和crf反编译出来的结果还是优于jdgui之类的吧,特别是switch之类的语句。测试了好几个比较复杂的软件(宝马原厂软件等),唯有procyon反编译出来的代码可以一次性编译通过,瞬间爱上procyon,当然这也是个案,反正工具都在那,这个不行就换另一个,各有所长。
2014-10-27 14:27
0
游客
登录 | 注册 方可回帖
返回
//