反编译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的源代码了。

香港云服务器最便宜价格是多少钱一个月、一年?

香港云服务器最便宜价格是多少钱一个月/一年?无论香港云服务器推出什么类型的配置和活动,价格都会一直吸引我们,那么就来说说香港最便宜的云服务器类型和香港最低的云服务器价格吧。香港云服务器最便宜最低价的价格是多少?香港云服务器只是服务器中最受欢迎的产品。香港云服务器有多种配置类型,如1核1G、2核2G、2核4G、8到16核32G等。这些配置可以满足大多数用户的需求,无论是电商站、视频还是游戏、小说等。...

快云科技:香港沙田CN2云服务器低至29元/月起;美国高防弹性云/洛杉矶CUVIP低至33.6元/月起

快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。云服务器网(yuntue.com)小编之前已经介绍过很多快云科技的香港及美国云服务器了,这次再介绍一下新的优惠方案。目前,香港云沙田CN2云服务器低至29元/月起;美国超防弹性云/洛杉矶CUVIP低至33.6元/月起。快云科技的云主机架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10...

PIGYUN:美国联通CUVIPCUVIP限时cuvip、AS9929、GIA/韩国CN2机房限时六折

pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...

反编译class为你推荐
android游戏开发教程如何学习开发安卓游戏?win7无线局域网如何用Win7搭建无线局域网?iphone12或支持北斗导航iphone12是问题机吗百度创业史百度成立的历史dnf客户端消失DNF客户端无缘无故消失金山铁路最新时刻表上海铁路时间表慕课网址如何加入慕课学习课程?音响解码音响功放:源码输出和解码输出有什么区别500人同时怎样建立500人的微信大群?微软永久关闭实体店微软有一天倒闭了 你会怎样?
空间域名 什么是域名 黑龙江域名注册 成都主机租用 美国vps推荐 新网域名解析 圣迭戈 免费cdn加速 贵州电信宽带测速 500m空间 湖南服务器托管 godaddy域名证书 双拼域名 北京双线 google台湾 空间登录首页 东莞idc 河南移动梦网 镇江高防 电信宽带测速软件 更多