您的位置:首页 > 其它

JVM之字节码——字节码增强应用(四)

2012-11-06 22:43 190 查看
source:http://blog.chinaunix.net/uid-21718047-id-3340423.html

JVM之字节码——字节码增强应用(四) (2012-09-06 22:01)

标签: 应用
分类: JVM

4、扩展内容

当然,除了前面的内容,通过字节码的操作,还可以完成很多功能。前面没有提到的有:

1)Java代码反编译

class文件的格式很大程度上都体现了Java代码的结构。通过class文件可以很快地反推出部分Java代码,不过对于指令码的处理就需要另当别论了,现在比较开源的一些反编译工具主要有JD,Dava,SourceAgain等。

2)Java代码混淆器

代码是程序员智慧的结晶,怎么能这么轻易就被人窃取呢?有工具可以反编译,当然也有工具来防止反编译了,这就是代码混淆器。代码混淆器也是基于class文件来实现的。它的主要原理是破坏class文件中保存的Java代码的信息,使得反编译器无法反编译出代码。主要的手段有:重命名变量和方法,拆分或者合并class文件,使用Java代码里不可能出现的标识符等等。详细内容可以参考这篇论文http://www.sable.mcgill.ca/publications/techreports/sable-tr-2006-5.pdf

3)生成代码的时序图

在阅读一些开源的项目代码时,对于一些地方我们需要画出时序图来了解具体的细节,但是很多时候,方法之间的调用关系往往会很很复杂,手动绘制比较耗费时间和精力。在这里,我们就可以通过在代码中插入一些内容来实现对方法调用的追踪,然后通过插入的代码统计到的信息来绘制出程序执行的时序图。具体细节这里也不讨论了,详细内容参考http://blog.crazybob.org/2005/10/generating-sequence-diagrams-using.html

博客推荐文章

ssh应用 (2012-05-11 13:40:11)

ASL--应用服务库 (2011-09-21 21:54:47)

XML应用概述 (2012-04-12 09:22:52)

LED照明应用 (2012-04-02 16:37:57)

颇尔滤芯应用 (2012-06-26 14:53:28)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: