找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 13|回复: 0

jd-gui.exe(java反编译工具)

[复制链接]

32万

主题

0

回帖

96万

积分

超级版主

积分
964681
发表于 2025-3-14 11:44:55 | 显示全部楼层 |阅读模式
软件标签:  java反编译工具   反编译工具   java编程工具
jd gui全称为java decompiler,就是一个java语言的反编译软件,适合于java编程人员使用,它可以对完整的jar文件进行反编译,还可以直接修改相关的代码,以及一些其他的功能。大家使用前注意看下方的使用帮助哦!教你如何解决打不开的问题。
jd-gui使用帮助
第一次运行的时候可能提示“this application requires ajava runtime environment1.8.0”(如下图所示),后面的版本号可能会是1.5.0-1.8.0.




这个大概的意思就是缺失java1.8.0的支持,只要安装一个就可以了,点击“确定”会自动跳转到官网进行安装;或者点击下面的链接进行安装。




   jdk1.8(java se development kit 8) 64位/32位 官方版     授权:免费软件 winall, winxp, win7, win8    大小:136.1m    语言:中文

   jdk   1.8(32位/64位)是java语言开发工具包应用。是java编程学习中重要的一部分!关于如何设置相关参数,小编也提供了相应的图文步骤,快来绿色资源网下载吧。jdk1.864位/32位配置操作说明:jdk环境变量配置方法:在安
    下载地址  


什么是反编译
大家都知道,将源代码转换成二进制执行代码的过程叫“编译”,比如将c源代码编译成exe可执行文件;那么把二进制执行代码的过程就叫“反编译”,比如把exe转换为c源代码就叫“反编译”。

由于主流的c的编译器都进行了代码的优化,因此把c编译生成的exe文件反编译成c代码非常困难。但是像java、.net这样基于虚拟机技术的编程语言则反编译非常容易,java平台下有jad、jode、jd等反编译器,.net平台下则有reflector等反编译器,反编译质量非常高,甚至和源代码几乎没什么差别。

反编译得到的是源代码吗?

反编译得到的代码是非常接近于源代码,但是或多或少与源代码有一些差异的,比如一些表达式被优化掉了,比如:

下面的源代码:

int i=1+1;

学过《编译原理》的同学知道有“常量优化”这个编译优化算法,因此上边的源代码一般会被优化为:int i=2;

由于在编译过程中已经进行了优化,把“1+1”这个原始的信息丢掉了,因此反编译出来的代码只能是:

int i=2;

可以看到反编译得到的代码和源代码是有区别的。

比如:andriod中

download = (button)findviewbyid(r.id.xiaz);

被优化成了download = (button)findviewbyid(0x7f070018);
主要功能
一、支持众多java编译器的反编译;

二、支持对整个jar文件进行反编译,并本源代码可直接点击进行相关代码的跳转;
jd gui使用方法
解压缩后打开软件,直接将jar包拖进去就可以进行编译了。




android反编译说明:

android的apk反编译工具,适合大家一起学,可以把android生成的apk转为java代码,希望对大家有用。

一、更改apk文件的后缀名,如:lianyunhelper3.0.11.apk改成lianyunhelper3.0.11.zip

二、用zip解压缩lianyunhelper3.0.11.zip文件

三、从解压缩的文件夹中取出classes.dex文件并放到dex2jar.bat所在目录

四、运行cmd命令,进入dex2jar.bat所在的目录,输入dex2jar.bat classes.dex即可生成classes.dex.dex2jar.jar文件

五、用jd-gui工具打开classes.dex.dex2jar.jar文件,即可看到源码

六、将androidmanifest.xml文件放到axmlprinter2.jar所在目录,运行cmd命令,进入 axmlprinter2.jar所在目录,输入jav
a -jar axmlprinter2.jar androidmanifest.xml > androidmanifest.txt。常见问题
jd-core和jd-gui区别:

jd-core是一个免费的库,从一个或多个“.class”文件中 重构java源代码。jd-core可以用来恢复丢失的源代码,并深究java运行时类库。支持java 5的功能:如注释,泛型或枚举 。

jd-gui 和 jd-eclipse都包括jd-core。jd-gui是一个独立的显示“.class” 文件java源代码的图形用户界面工具。您可以使用jd-gui浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。
更新日志
v1.6.0更新内容:

1.修正了“.class”表达式的识别错误。

2.修正错误识别“开关枚举”指令。

3.用已知的数字常量(例如long.max_value)替换数值。

4.删除了不必要的“java.lang”前缀。

5.修正了在最后位置上包含三元运算符的try-cacht语句的识别错误。

6.添加了返回的通用变量的转换说明。

7.隐藏匿名类的合成字段。


aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|ziyuan80.com

GMT+8, 2025-8-11 15:31 , Processed in 0.096028 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表