机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5395|回复: 9
打印 上一主题 下一主题

Java的反编译技术

  [复制链接]
跳转到指定楼层
楼主
发表于 2011-9-20 10:45:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
你是否下载到一个jar,发现他的输入和输出不和你心愿,你没法调用呢?

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

别着急,如果不是专业公司做的,一般人是不会防反编译的,


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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 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不用那么复杂。
回复 支持 反对

使用道具 举报

5#
发表于 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

6#
发表于 2012-7-21 21:50:42 | 只看该作者
推荐一款神器jbe,可以用于java bytecode的修改。
Java Bytecode Editor: http://www.cs.ioc.ee/~ando/jbe/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报

9#
发表于 2012-7-25 18:12:36 | 只看该作者
回复 支持 反对

使用道具 举报

10#
发表于 2012-8-7 19:42:04 | 只看该作者
本帖最后由 xmubingo 于 2012-8-7 19:42 编辑

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

使用道具 举报

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

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-23 04:30 , Processed in 0.073198 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表