- 博客(5)
- 收藏
- 关注
翻译 Alex Kalinovsky《Covert Java》第三章节Obfuscating Classes翻译(五)
潜在的问题和一般的解决方法 混淆对于保障软件的安全是一个合理的选择,同时它要保证软件正常的功能不受影响。但是,在一些具体的例子中,混淆器所做的转换操作在不经意间破坏了正常工作的代码。下面的章节会讨论常见的问题和推荐的解决方法。 动态类载入 要确保对于包,类,方法,和变量的更名操作会运行正常,必须能够保证整个软件系统中所有的相关名称都被修改。混淆器必须保证在字节码中所有的 static 引用都指向
2005-12-15 17:46:00 961 3
翻译 Alex Kalinovsky《Covert Java》第三章节Obfuscating Classes翻译(三)
混淆器的转化作用经过混淆作用的输出结果并没有统一的标准,所以不同混淆器所能提供的保护级别是不同的。下面会给大家看一下经过混淆器作用以后常见的输出结果。我们以程序片段 ChatServers sendMessage 方法为混淆的例子,来了解一下经过混淆器的作用,对于反编译器会产生什么影响。表3.1里列出了 sendMessage 的源代码表3.1public void sendMessage(S
2005-12-15 17:45:00 1051
翻译 Alex Kalinovsky《Covert Java》第三章节Obfuscating Classes翻译(四)
了解最好的混淆器 世面上流行着很多的混淆器,它们大部分的基本功能都是一样。表3.1包括了最常见的几种混淆器产品,部分是免费的,部分是商用的。 表3.1产品名称KLASSMASTERPROGUARDRETRO GUARDDASH-OJSHRINK版本4.11.71.1.132.x2.0价格$199–$399免费免费$895–$2995$95删除调试信息YesYesYesYesYes重命名YesYes
2005-12-15 17:45:00 783
翻译 Alex Kalinovsky《Covert Java》第三章节Obfuscating Classes翻译(一)
“每一种先进的技术都和魔法无异” Murphy 的技术格言 在这个章节里保护你代码背后的思想 混淆是为了保护知识产权 混淆器的转化作用 了解最好的混淆器 潜在的问题和一般的解决方法 使用Zelix KlassMaster 来混淆一个聊天程序 审思混淆代码 快速测验 总结 保护你代码背后的思想自从早期的软件开发以来,反向工程学和hacking技术就随之发展起来。作为一个存在的事实,剽窃或者复制别人的
2005-12-15 17:44:00 2524
翻译 Alex Kalinovsky《Covert Java》第三章节Obfuscating Classes翻译(二)
混淆是为了保护知识产权 混淆是通过把字节码转换成为阅读性很差的代码的方式,来实现增加反向工程难度的目标的一种方法。它常用的方法有剥离全部的调试信息,包括变量表和行号,以及变更包,类,方法的名称为混淆程序自动生成名称。更先进的混淆器走的更远,它们可以通过重构逻辑关系,插入并不执行的伪造代码的方式来更改 java 代码的控制流程的顺序。混淆过程的前提是,它所做的转换不能破坏字节码的有效性,还有不能更
2005-12-15 17:44:00 830
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人