反编译class.jar怎么反编译成.class或者.java,哪位高手能帮一下忙?

反编译class  时间:2021-07-20  阅读:()

可以反编译.class文件吗?

当然可以了。

在java软件包的bin文件夹下有一个javap程序,就是用来反编译的。

用法如java一样。

就是先用javac变成字节码文件就是.class文件后,用javap 加上文件名就可以反编译了。

举个例子test.class,反编译用javap test就行了。

如何将.class文件反编译为.java文件

反编译工具jad简单用法 以下假设jad.exe在c:java目录下 一、基本用法 Usage:jad [option(s)] 直接输入类文件名,且支持通配符,如下所示。

c:java>jad example1.class c:java>jad *.class 结果是将example1.class反编译为example1.jad。

将example1.jad改为example1.java即得源文件。

二、Option -o 不提示,覆盖源文件 三、Option -s c:java>jad -sjava example1.class 反编译结果以.java为扩展名。

四、Option -p 将反编译结果输出到屏幕 c:java>jad -p example1.class 将反编译结果重定向到文件 c:java>jad -p example1.class>example1.java 五、Option -d 指定反编译的输出文件目录 c:java>jad -o -dtest -sjava *.class ps:这里是下载地址,不行的话可以加我的qq。

349316367。

我传给你。

什么?谢谢?呵呵,客气。

混淆的class文件怎么进行反编译

一般情况下Java应用的开发者为了保护代码不被别人抄袭,在生成class文件的时候都java文件进行了混淆,这种class文件用反编译工具得到的结果很难看懂,并且不能进行编译。

从研究的角度,浅析如何读懂这种反编译过来的文件。

例子一:赋值 反编译过来的代码如下: Node node; Node node1 = _$3.getChildNodes().item(0); node1; node1; JVM INSTR swap ; node; getChildNodes(); 0; item(); getChildNodes(); 0; item(); getNodeValue(); String s; s; 原始语句: Node node; Node node1 = currDocument.getChildNodes().item(0); node = node1; String s = node.getChildNodes().item(0).getChildNodes().item(0).getNodeValue(); 注解: JVM INSTR swap ; //赋值语句 练习: String s1; String s8 = node.getChildNodes().item(1).getChildNodes().item(0).getNodeValue(); s8; s8; JVM INSTR swap ; s1; 10; Integer.parseInt(); int i; i; 例子二:不带参数创建对象 反编译过来的代码如下: JVM INSTR new #244 ; JVM INSTR dup ; JVM INSTR swap ; CrossTable(); CrossTable crosstable; crosstable; 原始语句: CrossTable crosstable = new CrossTable(); 注解: 练习: JVM INSTR new #246 ; JVM INSTR dup ; JVM INSTR swap ; Database(); Object obj; obj; 例子三:带参数创建对象 反编译过来的代码如下: JVM INSTR new #262 ; JVM INSTR dup ; JVM INSTR swap ; String.valueOf(s2); StringBuffer(); s.substring(j, i); append(); s6; append(); toString(); s2; 原始语句: s2 = (new StringBuffer(String.valueOf(s2))).append(s.substring(j, i)).append(s6).toString(); 注解: 此语句实际上是:s2 += s.substring(j, i) + s6; 练习: 例子四:for循环 反编译过来的代码如下: int k = 0; goto _L4 _L8: ... k++; _L4: if(k < as.length) goto _L8; else goto _L7 原始语句: for(int k=0;k < as.length;k++) { ... } 注解: 例子五:while循环 反编译过来的代码如下: String s1 = ""; goto _L1 _L3: JVM INSTR new #262 ; JVM INSTR dup ; JVM INSTR swap ; String.valueOf(s1); StringBuffer(); _$2(resultset, s, l); append(); toString(); s1; _L1: if(resultset.next()) goto _L3; else goto _L2 原始语句: String s1 = ""; while(resultset.next()) { s1 = s1 + resultSetToString(resultset, s, l); }

如何修改反编译出来的class文件

没办法完全反编译所以的class文件为java文件的,因为java中编译具有不可逆性。

但是可以将每个文件反编译,之后直接放到相应的包路径下来进行重新编码。

第一步:通过附件的“jd-gui”打开jar文件; 第二步:将每个class文件的内容,粘贴到一个新建的java工程中(包路径必须相同); 第三步:修改需要修改的类,之后如果运行没问题的话,直接导出为jar包即可。

备注:其实此过程中出错的几率还是很大的,如果能够实现百分百编译的话,那么所以的项目也就间接开源了,这肯定是不现实的。

.jar怎么反编译成.class或者.java,哪位高手能帮一下忙?

jar 可以用解压工具打开的,比如winrar winzip等等 打开解压就能得到里边class文件了。

如果想看每个类的源代码再用java piler反编译class文件就能看到java的源代码了。

新版本Apache HTTP Server 2.4.51发布更新(有安全漏洞建议升级)

今天中午的时候看到群里网友在讨论新版本的Apache HTTP Server 2.4.51发布且建议更新升级,如果有服务器在使用较早版本的话可能需要升级安全,这次的版本中涉及到安全漏洞的问题。Apache HTTP 中2.4.50的修复补丁CVE-2021-41773 修复不完整,导致新的漏洞CVE-2021-42013。攻击者可以使用由类似别名的指令配置将URL映射到目录外的文件的遍历攻击。这里...

IntoVPS:按小时计费KVM月费5美元起($0.0075/小时),6个机房可选

IntoVPS是成立于2004年的Hosterion SRL旗下于2009年推出的无管理型VPS主机品牌,商家提供基于OpenStack构建的VPS产品,支持小时计费是他的一大特色,VPS可选数据中心包括美国弗里蒙特、达拉斯、英国伦敦、荷兰和罗马尼亚等6个地区机房。商家VPS主机基于KVM架构,最低每小时0.0075美元起($5/月)。下面列出几款VPS主机配置信息。CPU:1core内存:2GB...

新网,域名7月盛夏1核心2G内存.COM域名仅19.9元/首年,主机9.9元/月,企业邮箱0元体验

新网好不好?新网域名便宜吗?新网怎么样?新网是国内老牌知名域名注册商,企业正规化运营,资质齐全,与阿里云万网和腾讯云DNSPOD同为国内服务商巨头。近日新网发布了最新的七月放价季优惠活动,主要针对域名、云主机、企业邮箱、SSL证书等多款云产品推送了超值的优惠,其中.com顶级域名仅19.9元/首年,.cn域名仅16元/首年,云主机1核心2G内存3Mbps带宽仅9.9元/月,企业邮箱更是免费送1年,...

反编译class为你推荐
windows7正版验证Win7正版验证方法有哪些?windows7正版验证window7正版验证微软将停止支持32位Win10系统win10提示系统安装错误怎么解决智能公共广播系统智能广播系统怎么实现?金山铁路最新时刻表金山北至上虞北高铁时间表音响解码CD锁了怎么解联通玩电信游戏关于联通到底能不能去电信区玩游戏。。。。oa系统包含哪些模块oa软件一般都有哪些功能模块?软件测试工程师待遇软件测试工程师待遇好吗cad图批量打印怎么用CAD看图软件进行批量打印
虚拟主机购买 短域名 godaddy域名注册 国内免备案主机 香港主机 60g硬盘 12306抢票攻略 日本空间 铁通流量查询 java虚拟主机 52测评网 创梦 炎黄盛世 老左正传 最好的qq空间 免费邮件服务器 网站加速软件 国外在线代理服务器 防cc攻击 好看的空间 更多