JAVA代码如何反汇编 javap –c命令可以反汇编代码( 二 )


class文件打破了C或者C++等语言所遵循的传统 , 使用这些传统语言写的程序通常首先被编译,然后被连接成单独的、专门支持特定硬件平台和操作系统的二进制文件 。通常情况下,一个平台上的二进制可执行文件不能在其他平台上工作 。而Javaclass文件是可以运行在任何支持Java虚拟机的硬件平台和操作系统上的二进制文件 。
那么反编译呢,就是通过helloworld.class文件得到java文件(或者说是程序员能看懂的Java文件)
四、什么时候会用到反编译
1、我们只有一个类的class文件,但是我们又看不懂Java的class文件,那么我们可以把它反编译成我们可以看得懂的文件 。
2、学习Java过程中 , JDK的每个版本都会加入越来越多的语法糖,有些时候我们想知道Java一些实现细节,我们可以借助反编译 。
五、反编译工具
1、javap
2、Jad:(墙裂推荐)
客户端:
可以在下载可执行文件,找到对应的操作系统的对应版本,然后进行安装使用 。
因为我使用的是linux操作系统,所以我下载的是Linux版本的工具,这个工具下载好之后会有一个执行文件,只要在执行文件所在目录执行./jadhelloworld.class就会在当前目录下生成helloworld.jad文件,该文件里就是我们很熟悉的Java代码
Eclipse插件:
下载地址在下载插件的jar包 , 然后将jar包放到eclipse的plugins目录下‘在打开Eclipse,Eclipse-Window-Preferences-Java , 此时你会发现会比原来多了一个JadClipse的选项,单击,在Pathtodecompiler中输入你刚才放置jad.exe的位置,也可以制定临时文件的目录 。当然在JadClipse下还有一些子选项,如Debug,Directives等,按照默认配置即可 。基本配置完毕后,我们可以查看一下class文件的默认打开方式,Eclipse-Window-Preferences-General-Editors-FileAssociations我们可以看到class文件的打开方式有两个,JadClipse和Eclipse自带的ClassFileViewer,而JadClipse是默认的 。全部配置完成,下面我们可以查看源码了,选择需要查看的类,按F3即可查看源码
JAVA程序能被反汇编吗?呵呵
首先,java可以反编译 , 现在已经有反编译软件了,你已经用过了,就知道的确很强大 。不过,java相对来说,还是安全的,现在似乎还有种反反编译,听说过 , 不了解 。
这些我们可以通过一些算法去加密之类的,比如md5这样的 。所以还是不用担心java的安全性 。
然后,java是可以写病毒的 。只是,java的使用需要对方先安装jvm之类的,所以说,如果对方没安装,那你病毒就没用了 。所以现在很少人用java写病毒,就像linux里很少人会去浪费时间写病毒的 。
关于JAVA代码如何反汇编和javap –c命令可以反汇编代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读