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

Virmach($7.2/年)特价机器发放

在八月份的时候有分享到 Virmach 暑期的促销活动有低至年付12美元的便宜VPS主机,这不开学季商家又发布五款年付VPS主机方案,而且是有可以选择七个数据中心。如果我们有需要低价年付便宜VPS主机的可以选择,且最低年付7.2美元(这款目前已经缺货)。这里需要注意的,这次发布的几款便宜年付方案,会在2021年9月30日或者2022年4月39日,分两个时间段会将INTEL CPU迁移至AMD CP...

ManSora:英国CN2 VPS,1核/1GB内存/10GB SSD/1TB流量/100Mbps/KVM,$18.2/月

mansora怎么样?mansora是一家国人商家,主要提供沪韩IEPL、沪日IEPL、深港IEPL等专线VPS。现在新推出了英国CN2 KVM VPS,线路为AS4809 AS9929,可解锁 Netflix,并有永久8折优惠。英国CN2 VPS,$18.2/月/1GB内存/10GB SSD空间/1TB流量/100Mbps端口/KVM,有需要的可以关注一下。点击进入:mansora官方网站地址m...

CloudCone:$14/年KVM-512MB/10GB/3TB/洛杉矶机房

CloudCone发布了2021年的闪售活动,提供了几款年付VPS套餐,基于KVM架构,采用Intel® Xeon® Silver 4214 or Xeon® E5s CPU及SSD硬盘组RAID10,最低每年14.02美元起,支持PayPal或者支付宝付款。这是一家成立于2017年的国外VPS主机商,提供VPS和独立服务器租用,数据中心为美国洛杉矶MC机房。下面列出几款年付套餐配置信息。CPU:...

反编译class为你推荐
android半透明如何实现Android透明导航栏美国大选投票实时数据美国大选每个州的选举人票多少是怎么定的windowsphone手机Windows Phone 手机有哪些人脸检测综述人脸识别的主要应用方向及其优缺点?智能公共广播系统公共广播系统的品牌都有哪些??做视频的免费软件有没有免费做视频的软件 汉化的做视频的免费软件求有哪种视频制作软件是全免费的啊?操控人心如何笼络人心,如何让别人有危机感。联通玩电信游戏我朋友是联通的网,想玩电信的游戏但是发现都很卡oa系统包含哪些模块OA系统一般包含哪些功能模块?
域名主机 域名投资 vps服务器租用 西部数码vps 域名解析服务器 128m内存 哈喽图床 警告本网站 智能骨干网 hkg 腾讯实名认证中心 服务器托管什么意思 免费高速空间 网通服务器 备案空间 国外在线代理服务器 国外的代理服务器 腾讯数据库 江苏双线 新疆服务器 更多