网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  关于扰乱器与反编译     
  文章作者:未知  文章来源:水木森林  
  查看:101次  录入:管理员--2007-11-17  
 
  作者:icelight

以下摘录于delphibbs中dr.yysun 的回答,希望对你有帮助

用 java 编程的人, 如果不想公开源程序, 就得与反编译器作斗争,
必须使用反编译器,先看看别人将会如何看你的程序,再看看obfuscators(扰乱器)的效果.

jad 是 windows 下效果极佳的反编译器 http://www.geocities.com/siliconvalley/bridge/8617/jad.html
围绕这个引擎, 有很多图形界面, 例如 frontend. (我常用)

jode 是免费的 java 反编译器和优化器.
http://jode.sourceforge.net/

intr@byte 是个 jbuilder 的外挂工具 (opentool), 使得您在 jb 中能打开 *.class
http://www.webappcabaret.com/bjb/index.jsp
它也使用 jad 引擎, 并限制为只反编译器类的定义部分.

有些网站可以帮您反编译, 您给个 url, 它分析出其中有多少个 applet,
然后, 再反编译掉. http://www.jreveal.org/

最后, 您想了解反编译原理, 想自己编个反编译器和扰乱器, 这里有本免费得书 .
http://www.riis.com/depile.html

其他到 yahoo 里找吧, 太多了.

jjams_king: 扰乱器就是把 bytecode 中的类名,方法名,变量名等变成无意义的符号。
例如,以下源程序:
package temp;
public class helloworld {
string helloworld = "hello world";
string byeworld = "bye world";
public static void main(string[] args) {
new helloworld(true);
new helloworld(false);
}
helloworld(boolean ishappy) {
if (ishappy) {
system.out.println(helloworld);
}
else {
system.out.println(byeworld);
}
}
}
加扰后,再反编译出来是:
package a;
import java.io.printstream;
public class a
{
string a;
string b;
a(boolean flag)
{
a = "hello world";
b = "bye world";
if (flag)
system.out.println(a);
else
system.out.println(b);
}
public static void main(string astring[])
{
new a(true);
new a(false);
}
}

而更高级的扰乱器,还能加密字符常量和扰乱程序流。加扰后,再反编译后变成这样:
package a;
import java.io.printstream;
public class a
{
string a;
string b;
public static boolean c;
a(boolean flag)
{
a = a("q
 
 
上一篇: 关于分布式cache的几点认识    下一篇: 关于学习java的一点经验
  相关文档
高效j2me应用程序秘诀二十招 11-16
手机与servlet的网络通信技巧 11-16
最佳实践:有状态会话 bean运行结束时应及时被显式删除 11-17
eclipse3.1中体验j2se5.0之注释类型 11-16
使用档案文件提高 applet 的加载速度 11-17
jboss的jdbc数据源配置步骤详解大全 11-17
java面试题(答案) 11-17
java中的stack 11-17
分享socket客户端-服务器入门代码 11-17
java基础:看看流行的和过时的鼠标事件 11-17
用java实现断点续传(http)(1) 11-17
java入门笔记3_datastructure 11-17
设计模式:基于Internet的软件工程策略 08-06
java中配置信息的存取 11-17
java中使用正则表达式来实现字符串匹配 11-16
初始化接口中的字段 11-17
集成jsf与beehive page flow 11-17
目前流行的j2ee web应用架构介绍和分析 05-12
java高级编程:提升jsp应用程序的效率 05-28
如何迅速成为java高手 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息