在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连接时的反序列化

关于解决cmd中执行java提示"找不到或无法加载主类"的问题

Java 源代码被 Intellij 中的反编译文件替换

如何使用命令行cmd执行java程序

cmd如何编译记事本中的代码