社区
非技术区
帖子详情
关于JAVA的*.CLASS文件可反编译的思索!!
heton
2001-07-20 09:49:31
JAVA的*.CLASS文件能通过各种工具反编译,且反编译的效果很好,几乎根源代码一样,这是JAVA的一个阴影吗?我对JAVA认识颇浅,请高人指点迷津!
...全文
153
8
打赏
收藏
关于JAVA的*.CLASS文件可反编译的思索!!
JAVA的*.CLASS文件能通过各种工具反编译,且反编译的效果很好,几乎根源代码一样,这是JAVA的一个阴影吗?我对JAVA认识颇浅,请高人指点迷津!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seasun2k
2001-07-20
打赏
举报
回复
同意alou()
alou
2001-07-20
打赏
举报
回复
呵呵,最好的办法是自己跑得更快一些,让对手在你的后面吃土!
keiga
2001-07-20
打赏
举报
回复
当然你还可以编译成针对于不同机型的机器码
keiga
2001-07-20
打赏
举报
回复
我认为,java源程序编译后可提高执行效率,至于保密,不让人得到你的.class文件就可以了
iloveyouonlyonce
2001-07-20
打赏
举报
回复
针锋相对的代码模糊处理
代码模糊处理字面上的意思就是模糊处理您代码的行为。Java 模糊处理器用不易察觉的方法改变程序,以致于它的运行对 JVM 来说是一模一样的,但它使得试图理解程序的人更加迷惑了。
让我们看一下当反汇编器遇到经过模糊处理后的代码会发生什么情况。清单 6 显示了 Mocha 在尝试反汇编被一种名为 jmangle 的工具模糊处理的 Java 代码后的结果。请注意以下的一小段程序和我们在前面清单中使用的是相同的,尽管乍一看,您肯定不会这么认为。
清单 6. 经过 jmangle 模糊处理的代码
public Foo()
{
jm2 = 10;
int i = jm0();
System.out.println("foo constructor");
jm1(i);
}
象 jmangle 这样的模糊处理器把许多变量名和方法名(有时甚至是类名和包的名称)转换成没有意义的字符串。这样就使得人们难以阅读程序,但对于 JVM 来说,其在本质上和原来的程序是一样的。
一种常用的模糊处理代码的方法是用一个非法的字符串来替代类文件中的标记,这比使用没有意义的字符串更进了一步。替代的有可能是一个关键字,例如 private,或者甚至是象 *** 这样没有意义的标记。一些虚拟机 -- 尤其在浏览器中 -- 对这些古怪的用法不会作出合法的反应。从技术上说,一个象 = 这样的变量与 Java 的规范是相反的;一些虚拟机可以忽略它,而另一些不可以这样。
还可以通过模糊处理放置代码炸弹~~
yatwql
2001-07-20
打赏
举报
回复
可以通过代码混稽器来保密
gzproger
2001-07-20
打赏
举报
回复
混淆有时不起作用,比如你做个30天试用版,再怎么混淆,人家反编译一把,找个IDE跟踪一下,再重新编译一把,就破解了。
situju
2001-07-20
打赏
举报
回复
编译成exe文件
java
如何防止
反编译
java
如何防止
反编译
object.get
Class
()和Object.
class
的区别
https://blog.csdn.net/xiaokang123456kao/article/details/72859765 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITeye GitChat 写博客 赚零钱 消息
java
中get
Class
()方法简介 01-23 ...
.get
Class
()和.
class
的区别
一直在想.
class
和.get
Class
()的区别,
思索
良久,有点思绪,然后有网上搜了搜,找到了如下的一篇文章,与大家分享。 原来为就是涉及到
java
的反射~~~~~
Java
反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代码。严格地说,反...
Java
基础
Java
基础部分
Java
防
反编译
技术
转载自http://hellohank.iteye.com/blog/2218668 综述(写在前面的废话)
Java
从诞生以来,其基因就是开放精神,也正因此,其可以得到广泛爱好者的支持和奉献,最终很快发展壮大,以至于有今天之风光!但随着
java
的应用领域越来越广,特别是一些功能要发布到终端用户手中(如Android开发的app),有时候,公司为了商业技术的保密考虑,不希望这里
非技术区
23,409
社区成员
70,517
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章