在cmd上执行关于java的反编译
Posted 宋泊然
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在cmd上执行关于java的反编译相关的知识,希望对你有一定的参考价值。
反编译是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。例如执行如下代码的反编译
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文件就可以看到反编译结果,看到了程序执行过程中的方法顺序,有利于自己的编程,如果是别人的程序,则更有利于了解别人程序的构造,为自己所利用
以上是关于在cmd上执行关于java的反编译的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段
漏洞分析关于mysql-connector-java连接时的反序列化