怎么反编译class文件.jra文件

28854人阅读
Android(7)
& & 在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar。使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间。有的第三方工具,提供具体的使用说明和源代码,有时有的却不提供源代码,使用说明也不是很具体,这对我们使用就非常不方便。
  有道是,知其然才知其所以然。有时候,我们必须读取jar里的打包的类。而有时还有可能要对它进行小量修改,使之适用于自己的非凡需求。
  Java反编译工具:
  JGUI &/s/1o6xCtsQ
  压缩工具:
  Winrar
  1. 将jar包解压
  我们可以使用winrar工具将jar解压到指定目录
  2. 反编译class
  使用 Java 反编译工具,将class文件反编译为java文件。(大多数反编译工具只提供单个class文件的反编译,这里推荐&小颖JAVA源代码反编译&工具,可以反编译一个目录下的所有class文件)
  3. 构建项目
  我们将反编译后的java文件设为项目的源文件目录。
  将jar,及jar所需要的其它lib,作为libraries加入项目中,这样可以保证我们的java文件可以编译。
  4. 对反编译的java进行修改
  通过反编译的java文件,可能还有错误,不能编译通过,在不影响作者原始意图的前提下,我们必须对它进行小量修改,保证可编译通过。
  保证java文件可以编译通过后,我们再在其基础上进行修改,使之符合自己的需求。
  5. 编译修改的java
  编译修改后的java文件,注重的是,最好只编译修改的单个java文件。
  编译完成后,我们进行测试,保证修改无误。因为JVM会先找寻classes目录下的class文件,并率先加入,这样我们修改编译后的class文件,便是测试时使用的class文件。
  重复这个过程,直至java达到我们的目的。
& & 不需要在命令行编译,将项目反编译成.java后将整个工程导入到Eclipse中,直接在Eclipse中查看.class文件
  6. Jar打包
  将修改生成后的class文件,替换我们将jar解压缩目录下的相应class文件,重新打包生成jar。
  我们可以使用jar命令进行打包(进入目录后执行jar -cvf manageRC.jar .)也可以使用winrar工具进行打包。使用winrar工具打包时,要注重选择压缩文件格式为zip,并将生成的压缩包文件的后缀名设置为jar。
  替换原来的jar。再进行最后一次测试。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:42807次
排名:千里之外
转载:15篇
(1)(1)(1)(1)(1)(2)(1)(1)(2)(2)(5)博客访问: 195303
博文数量: 89
博客积分: 1504
博客等级: 上尉
技术积分: 947
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Java
在命令行下,如何使用JAD反编译jar文件&
在工作中,我们经常需要对遗留系统或其他的第三方系统进行维护,如果我们没有java源文件的情况下,一般都需要将其中的jar文件进行
本文将以如何用命令来反编译一个test.jar文件为例,你可以通过简单修改并将其放入到你的批处理脚本中,进行自动化反编译。
1)首先使用jar命令将jar文件解压缩到classes目录(假设你已经设置好了CLASSPATH等,jar.exe是放在jdk的bin目
CMD>jar -xvf test.jar -C classes
2)如果你没有下载过jad的软件,到下
载一个,并用解压缩工具将其解压缩到目录[jad_home]
3)然后使用jad命令对上面产生的classes目录进行反编译
CMD>[jad_home]/jad.exe -r -ff -d src -s java
classes/**/*.class&
其中-r 表示恢复源文件的目录结构,,-ff 表示将类属性定义放在类方法定义之前, -d 表示输出目录,-s 表示文件的扩展名。
所有的java文件将会被放置到src目录下。http://blog.csdn.net/huoyin/archive//1769137.aspx&&& <htmlemail mailhost="" &&&&&&&&&&&&&&&& returnaddress=""&&&&&&&&&&&&&&&&
buildresultsurl="" &&&&&&&&&&&&&&&& skipusers="true" &&&&&&&&&&&&&&&&
spamwhilebroken="true" &&&&&&&&&&&&&&&& subjectprefix="Build:" >&&
&&& &&& &&& &&& &&& &&& &&& &&& &&&&
阅读(5673) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&怎么将jar包class文件反编译成一个java源码项目出来 - J2EE当前位置:& &&&怎么将jar包class文件反编译成一个java源码项目出来怎么将jar包class文件反编译成一个java源码项目出来&&网友分享于:&&浏览:603次如何将jar包class文件反编译成一个java源码项目出来?公司内部封装的一个jar包,现在用jad可以临时看那个类反编译那个class文件,但是我想把那个jar给反编译出整个项目出来,该如何实现??------解决方案--------------------
java decompiler在File菜单下,有 Save JAR sources ,它把整个jar反编译并保存
------解决方案--------------------目前即便最好的反编译器,都不能保证对class能绝对反编译成功,更不要说那些做过混淆的。遇到使用了Exception嵌套的,和 break label 的,基本上都会出问题。既然是公司内封装的jar,为啥不直接申请源码来看?
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有

我要回帖

更多关于 class文件反编译 的文章

 

随机推荐