Java .class文件的反编译与反汇编

 

转载请注明原文地址:http://www.javashuo.com/article/p-mjkogmjk-v.htmlhtml

 

一:反编译

    一般用于第三方JAR包的逆向工程。java

    通常咱们拿到的jar包都是通过编译后的 .class文件,可是咱们在开发过程当中对jar包的调用有疑问,或者像深刻探索原理时,根本没法查看源码,这对咱们来讲就比较沮丧了。性能优化

    这个时候,咱们能够经过一些反编译工具,将 .class 文件逆向成 java源代码,这样就能够看到它的真面目啦~工具

    java反编译咱们通常使用jad工具,或者网上提供的一些可用的第三方工具,不少的,找找就有了。性能

 

二:反汇编

    反汇编与反编译是两码事,虽然原材料都是 .class文件。优化

    上面提到的反编译是向上的,即根据编译后的结果,反向获得编译前的源码。命令行

    而反汇编则是根据编译后的结果,倒推源码编译的过程,这里就能够看出代码逻辑真实编译、执行过程的每一步,对于性能优化、问题追溯等具备十分强大的帮助。htm

    Java反汇编使用jdk自带的工具——javap。blog

    安装了Java开发环境的电脑上,能够经过命令行 输入 :javap -c XXX.class 文件来查看该class文件的编译过程。开发

相关文章
相关标签/搜索