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

DMIT(季度$28.88)调整洛杉矶CN2 GIA优化端口

对于DMIT商家已经关注有一些时候,看到不少的隔壁朋友们都有分享到,但是这篇还是我第一次分享这个服务商。根据看介绍,DMIT是一家成立于2017年的美国商家,据说是由几位留美学生创立的,数据中心位于香港、伯力G-Core和洛杉矶,主打香港CN2直连云服务器、美国CN2直连云服务器产品。最近看到DMIT商家有对洛杉矶CN2 GIA VPS端口进行了升级,不过价格没有变化,依然是季付28.88美元起。...

Vultr再次发布充值多少送多少活动

昨天我们很多小伙伴们应该都有看到,包括有隔壁的一些博主们都有发布Vultr商家新的新用户注册福利活动。以前是有赠送100美元有效期30天的,这次改成有效期14天。早年才开始的时候有效期是60天的,这个是商家行为,主要还是吸引到我们后续的充值使用,毕竟他们的体验金赠送,在同类商家中算是比较大方的。昨天活动内容:重新调整Vultr新注册用户赠送100美元奖励金有效期14天今天早上群里的朋友告诉我,两年...

EdgeNat 新年开通优惠 - 韩国独立服务器原生IP地址CN2线路七折优惠

EdgeNat 商家在之前也有分享过几次活动,主要提供香港和韩国的VPS主机,分别在沙田和首尔LG机房,服务器均为自营硬件,电信CN2线路,移动联通BGP直连,其中VPS主机基于KVM架构,宿主机采用四路E5处理器、raid10+BBU固态硬盘!最高可以提供500Gbps DDoS防御。这次开年活动中有提供七折优惠的韩国独立服务器,原生IP地址CN2线路。第一、优惠券活动EdgeNat优惠码(限月...

反编译class为你推荐
呼叫中心搭建呼叫中心有几种建设方式啊?那种最省钱?北漂论坛请问北票有论坛吗2020带来好运的微信头像2020带来好运抖音网名xp仿win7桌面主题XP系统可以装window7主题吗腾讯windows10升级助手win10升级助手登录失败怎么办 win10升级助手不能登录解决办法oa系统包含哪些模块求问OA办公系统的组成模块能分为哪三个类别?软件测试工程师待遇软件测试人员工资高吗?cad图批量打印我在一个朋友的CAD图中有看过批量打印这一招,但现在忘了怎么设置,希望哪位大师能出招指教?!hub和路由器的区别集线器(HUB)、交换机和路由器的区别是什么?jsp入门教程刚开始学jsp,不知道从何学起,求过来人给点学习路线
fc2最新域名 服务器租用托管 鲁诺vps 贝锐花生壳域名 骨干网 l5639 patcha 线路工具 申请空间 论坛空间 彩虹ip 卡巴斯基永久免费版 台湾谷歌地址 秒杀预告 国外ip加速器 cloudlink 宏讯 沈阳主机托管 阿里云邮箱申请 mteam 更多