反编译是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。例如执行如下代码的反编译

 public class stringbuffer {
public static void main(String[] args){
StringBuffer s = new StringBuffer("Hello");
System.out.println("修改后的字符串:");
change(s);
System.out.println(s);
System.out.println("倒转后的字符串:");
reverse(s);
System.out.println(s);
}
public static void change(StringBuffer temp) {
temp.append(" World!! ").insert(0,"MRMr.Song ").delete(0,2); }
public static void reverse(StringBuffer temp) {
temp.reverse();
}
}
//.append()相当于字符串的+
//insert()有两个参数,第一个是插入的位置第二个插入的元素或者内容
//delete()有两个参数分别是删除的起始和终止位置
//reverse倒转

结果如图

在过程中先要切换磁盘,因为不能跨盘执行,然后更换目录,在用javac执行.java程序,在用java执行源文件,最后用javap执行.class文件就可以看到反编译结果,看到了程序执行过程中的方法顺序,有利于自己的编程,如果是别人的程序,则更有利于了解别人程序的构造,为自己所利用

在cmd上执行关于java的反编译的更多相关文章

  1. Atitti.java android反编译解决方案-----虚拟机方案

    Atitti.java android反编译解决方案-----虚拟机方案 哈哈,终极解决方案是虚拟机...c++也可以反编译为汇编代码,但无需担心,因为读懂汇编太麻烦..只要不能拿到c++源码就可.. ...

  2. 在windows下使用cmd命令行对java文件进行编译和执行

    windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量 相关配置链接:java基础学习总结—— ...

  3. Ubuntu 上 执行命令 java -version 显示 没有那个文件或目录

    解决方法 执行 which java 发现默认java目录:/usr/bin/java . 查看 JAVA_HOME 路径:$JAVA_HOME,得到 /usr/local/java/jdk1.7.0 ...

  4. [转]Java.APK 反编译

    本文转自:http://blog.csdn.net/vipzjyno1/article/details/21039349/ (注:反编译不是让各位开发者去对一个应用破解搞重装什么的,主要目的是为了促进 ...

  5. JAVA代码反编译笔记

    最近有个朋友说有个java弄的软件是从朋友处拿来的,由于进行了网卡地址绑定,不修改网卡地址无法使用,叫我看看有无办法破解,之前都很少玩这些东西,本着帮忙的心态,尝试了下,便有了一下的笔记内容. 1.使 ...

  6. 【原创】Java批量反编译利器(jd-gui)介绍

    Java反编译利器(jd-gui)介绍 当要做白盒测试或安全测试时,我们需要借助工具扫描被测代码,相信大家都遇到过没有源代码,而需要反编译的情形吧,也可能大家用过jad工具,我这里介绍下方便的工具jd ...

  7. APK中java代码反编译

    Android APK中的Java代码可以被反编译到什么程度主要看APK的加密程度. 第一种情况:无混淆无加密无加壳.直接利用Dex2jar和JD-GUI可把源码从APK里抠出来,代码逻辑清晰,基本上 ...

  8. java项目反编译获得源码

    经常能找到一些 过时的 项目源码,但是还是有研究价值的.但是肯定是不会给你源码的. 下面介绍怎么反编译: 1.在项目中找到classes这个文件夹,这个就是编译过的文件. 2.下载反编译工具JD-GU ...

  9. java常见反编译工具

    1.Java反编译插件 —— Jadclipse JadClipse是Jad的Eclipse插件,是一款非常实用而且方便地Java反编译插件,我们只需将下载的插件包复制到eclipse的plugins ...

随机推荐

  1. 交换机安全学习笔记 第九~十章 HSRP VRRP

    HSRP  (Hot Standby Router Protocol) 热备份路由器协议 思科私有 HSRP消息使用UDP 端口号 1985(IPv6时为2029) 使用多播地址 224.0.0.2( ...

  2. 项目附 - 云盘项目-分析echo.c

    分析FastCGI源码目录下example中echo.c代码: /* * echo.c -- * * Produce a page containing all FastCGI inputs * * ...

  3. 关于 Spring AOP (AspectJ) 你该知晓的一切 (转)

    出处:关于 Spring AOP (AspectJ) 你该知晓的一切

  4. 12、MA图的计算过程

    为了简化问题,假设有3张芯片,每组数有9个探针: Data: 2,4,6,7,9,10,4,7,8,3 9,5,3,2,5,7,9,10,3,12 6,4,3,2,7,8,1,2,6,9 一.给3组数 ...

  5. [.net core]6.launchSettings.json,调试配置

    展开properties, 双击查看内容, { "iisSettings": { "windowsAuthentication": false, "a ...

  6. 剑指offer-数值的整数次方-调整数组顺序使奇数位于偶数前面-代码的完整性-python

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.   保证base和exponent不同时为0   思路 求base的expon ...

  7. Jpa/Hibernate 字节码增强:字段延迟加载

    JPA提供了@Basic注解,实现延迟加载字段的功能,如下: @Basic(fetch = FetchType.LAZY) @Column(name = "REMARK_CONTENT&qu ...

  8. 【转】golang 交叉编译

    问题 golang如何在一个平台编译另外一个平台可以执行的文件.比如在mac上编译Windows和linux可以执行的文件.那么我们的问题就设定成:如何在mac上编译64位linux的可执行文件. 解 ...

  9. String与C风格字符串转换

    String字符串转换为C风格字符串需要利用string类的成员函数c_str().而C风格字符串转换转换为string字符串可以直接利用运算符=.首先介绍c_str()函数原型: const val ...

  10. linux 桥接模式下 固定ip 设置

    DEVICE=eht0   #网卡名称BOOTPROTO=none #关闭自动获取  dhcp  IPADDR=192.168.0.178   #ip地址GATEWAY=192.168.0.1  DN ...