反编译是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。例如执行如下代码的反编译
1 public class stringbuffer { 2 public static void main(String[] args){ 3 StringBuffer s = new StringBuffer("Hello"); 4 System.out.println("修改后的字符串:"); 5 change(s); 6 System.out.println(s); 7 System.out.println("倒转后的字符串:"); 8 reverse(s); 9 System.out.println(s); 10 } 11 public static void change(StringBuffer temp) { 12 temp.append(" World!! ").insert(0,"MRMr.Song ").delete(0,2); 13 14 } 15 public static void reverse(StringBuffer temp) { 16 temp.reverse(); 17 } 18 } 19 //.append()相当于字符串的+ 20 //insert()有两个参数,第一个是插入的位置第二个插入的元素或者内容 21 //delete()有两个参数分别是删除的起始和终止位置 22 //reverse倒转
结果如图
在过程中先要切换磁盘,因为不能跨盘执行,然后更换目录,在用javac执行.java程序,在用java执行源文件,最后用javap执行.class文件就可以看到反编译结果,看到了程序执行过程中的方法顺序,有利于自己的编程,如果是别人的程序,则更有利于了解别人程序的构造,为自己所利用
原文地址:https://www.cnblogs.com/tkg1314/p/11684220.html
时间: 2024-10-11 01:40:31