java反编译工具真的很强大!

来源:互联网 发布:网络问卷是什么意思 编辑:程序博客网 时间:2024/05/21 06:48
以前只听说过有反编译工具,但从来没用过,昨天我的项目指导老师让我帮他调一个汇编演示器的java程序,是从linux下直接拷贝过来的,里面全是二进制字节-class文件,我当时脑袋就蒙了,这怎么调试。直接在命令行里输java Simulation不行。后来,我抱着一丝希望想找个反编译工具试试,结果下了好几个都不太理想,最后在csdn上花了10个资源分终于下了一个很好用的反编译工具,可以支持文件和文件夹操作。然后我上网查了一下class文件的一些生成细节,发现控件的ActionListener和内部类都会生成一些带$的class文件,当然有一定的命名规则,在实际运行中不能删除,但是却不用反编译。所以我就把不带$的class文件都给反编译完毕再查看main入口程序,发现不能直接运行是因为有个JSX的包的路径改变了,我把路径改完之后再执行java Simulation指令就可以了。而且还意外地发现其实主程序入口是可以接受参数的。到此,反编译工作做完了 ,因为这个程序以后要改动源码,所以我就想怎么在编译器里运行它。我把所有的文件导到netbeans里面,然后就是对每个程序导包的过程了,当然还有一些监听器的格式和static区的代码要做点细微的改动,之后run一下,ok了。