机器学习和生物信息学实验室论坛联盟MAchine Learning And Bioinformatics, MALAB
查看: 6916|回复: 9

Java的反编译技术

 火 [复制链接]
发表于 2011-9-20 10:45:56 | 显示全部楼层 |阅读模式
你是否下载到一个jar,发现他的输入和输出不和你心愿,你没法调用呢?

这时候你想,如果有他的.java文件多好啊,改一点就可以,可惜没有,用winrar解压后全是.class文件,郁闷。

别着急,如果不是专业公司做的,一般人是不会防反编译的, jd-gui-0.3.3.windows.zip (697.18 KB, 下载次数: 769)


然后用它打开你的jar,就会看到源代码了!

所以我们如果做什么软件,不想让人看到源代码,也要琢磨一下,怎么防反编译!
回复

使用道具 举报

发表于 2011-9-20 11:17:30 | 显示全部楼层
      据了解逆向工程的最大弊端是对应用程序进行完全逆向工程所耗费的时间往往太长。虽然有少数出色程序员可以阅读源代码,不过耗时往往太长。再者,我们往往缺乏对正在分析的代码的整体认识。如果在进行逆向工程时发现新错误,我们仍需找出会导致产生该破坏代码的途径。
      在某些情况下,在某些地理位置,逆向工程可能是非法的。进行逆向工程之前一定要三思,确保它在您所在的地区是合法的。如果您在工作时做不好这种控制,很容易就会触
及受法律保护的库。

      所以从成本角度上,我想在做反编译的人事先会权衡逆向工程与自己生产代码的成本.如果逆向工程的难度和风险大于自己生产,那么是该放弃反编译~ ~

回复

使用道具 举报

发表于 2011-9-20 11:58:57 | 显示全部楼层
我记得eclipse里面装个好像叫jad的插件就可以查看class代码了。

怎么防止反编译没什么了解。加密,混淆代码让别人读不懂。把变量和函数包括系统调用全部用编号代替,抹掉注释,打乱顺序,他看懂也要花一定时间。
回复

使用道具 举报

发表于 2011-9-20 13:06:09 | 显示全部楼层
chenwq 发表于 2011-9-20 11:17
据了解逆向工程的最大弊端是对应用程序进行完全逆向工程所耗费的时间往往太长。虽然有少数出色程序员 ...

你说的应该是反汇编来逆向。java不用那么复杂。
回复

使用道具 举报

发表于 2012-7-20 17:12:39 | 显示全部楼层
本帖最后由 chenwq 于 2012-7-20 17:12 编辑

Eclipse添加Jad插件方法:
Preferences->Java->JadClipse
Path to decompiler:C:\Program Files\Java\jre6\jad.exe
Directory for temporary files:C:\Users\Administrator\.net.sf.jadclipse

jad.rar

232.59 KB, 下载次数: 653

回复

使用道具 举报

发表于 2012-7-21 21:50:42 | 显示全部楼层
推荐一款神器jbe,可以用于java bytecode的修改。
Java Bytecode Editor: http://www.cs.ioc.ee/~ando/jbe/

Java Bytecode Editor

Java Bytecode Editor
回复

使用道具 举报

发表于 2012-7-22 10:10:06 | 显示全部楼层
这个软件我以前用过,只能说,他能反编译出大部分正确的,不能全用,还是会有错误,可能语法上也会有问题,用来做恢复还是可以的~
回复

使用道具 举报

发表于 2012-7-25 14:08:41 | 显示全部楼层
hsc 发表于 2012-7-22 10:10
这个软件我以前用过,只能说,他能反编译出大部分正确的,不能全用,还是会有错误,可能语法上也会有问题, ...

类似这样的软件我觉得用法是,用它反编译过来的文件阅读阅读一下,但一般无法用这些反编译的源文件的,真正要修改,还是要直接上bytecode层面去。
回复

使用道具 举报

发表于 2012-7-25 18:12:36 | 显示全部楼层
回复

使用道具 举报

发表于 2012-8-7 19:42:04 | 显示全部楼层
本帖最后由 xmubingo 于 2012-8-7 19:42 编辑

突然,让我想起CUDA和.ptx,类似java的.class。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注公众号
机器学习和生物信息学实验室联盟

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部