`
KillEr_Jok
  • 浏览: 148238 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

无源码,修改第三方jar包

 
阅读更多

有一个第三方jar包,没有源码。如何修改里面的源码呢?

比如修改一个BitField.class文件,首先将jar包内容解压到一个目录下面

然后使用jd-gui工具,反编译目下BitField.class文件,然后在该目录下新建BitField.java文件

将反编译的内容,写入其中

cmd命令进入目录

使用javac BitField.java

具体步骤如下 (不好意思,网络不好,晚点上截图。)

 

 

 

1
0
分享到:
评论
4 楼 KillEr_Jok 2014-06-19  
yuyoo4j 写道
1) 在Eclipse建一个java工程. 将jar加到工程的jar依赖中.
2) 使用jd-gui等反编译工具, 将你需要修改的class进行反编译, 并copy出反编译后的代码.
3) 在Eclipse的工程中, 一个类路径与反编译类一样的类源文件(.java).
4) 粘贴copy后的代码, 并修改.
5) 将Eclipse编译出来的 .class文件重新 压缩进jar替换原jar中的.class文件. (常见的用rar软件操作)



学习了
3 楼 KillEr_Jok 2014-06-19  
arsemilan 写道
你的java文件不会引用其他的类?javac能成功吗

下面是代码测试
package test;
import test.depen.Depen;
public class Hello{
	public void print(){
		System.out.println("I'm Hello!");	
	} 
	public static void main (String[] args){
		Depen d = new Depen();
		d.print();
	}
}

package test.depen;
import test.Hello;
public class Depen{
	public void print(){
		System.out.println("I'm Depen!");	
	} 
	public static void main (String[] args){
		Hello h = new Hello();
		h.print();
	}
}

假设都放在G盘根目录下

C:\Users\my>  G:
G:>javac *.java
此时  G盘根目录下会生成Hello.class和Depen.class
但是,此时执行java Hello会出错,执行test.Hello也不行
在G目录下新增目录test/depen,分别将Hello.class和Depen.class放入test/和test/depen中
然后执行java test.Hello就可以看到输出信息了
然后删除源,Hello.java和Depen.java

反编译Depen.class文件,将内容另存为Depen.java,同时修改输出内容
G:>javac Depen.java
同样会生成Depen.class文件,将Depen.class文件拷贝到test/depen目录下。
G:>java test.Hello  可以看到修改后的输出。

修改jar包的时候,就没有这么麻烦了,只需要将jar包内文件结构拷贝到G盘根目录。
然后执行javac xxx.java(反编译代码)  基本就OK了。
2 楼 yuyoo4j 2014-06-13  
1) 在Eclipse建一个java工程. 将jar加到工程的jar依赖中.
2) 使用jd-gui等反编译工具, 将你需要修改的class进行反编译, 并copy出反编译后的代码.
3) 在Eclipse的工程中, 一个类路径与反编译类一样的类源文件(.java).
4) 粘贴copy后的代码, 并修改.
5) 将Eclipse编译出来的 .class文件重新 压缩进jar替换原jar中的.class文件. (常见的用rar软件操作)
1 楼 arsemilan 2014-06-12  
你的java文件不会引用其他的类?javac能成功吗

相关推荐

    JDK1.6使用BouncyCastle第三方jar支持TSL1.2通过Nginx转发多个HTTPS接口请求

    通过BouncyCastle的第三方jar包可以解决这个问题。也可以使用Nginx的第三方模块ngx_http_proxy_module,配置Nginx作为HTTPS代理服务器解决,不过代码需要修改地方较多。 解压压缩包后文件说明: \doc\conf\nginx....

    Android例子源码集成安卓主流优秀第三方组件框架.zip

    这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...

    解决jdk1.4生成二维码问题,因为现下生成二维码的jar包,版本最低支持jdk1.5以上的版本,老的项目中想使用二维码,直接使用jar包无法使用

    1.解决思路,下载第三方的jar包,使用反编译工具,修改编译后的程序,尝试是否可以解决问题。 2.解决问题步骤: 2.1 下载第三方QRCode.jar包和现有案例,先验证在jdk高版本是否可以正常使用 2.2 下载jd-gui反编译...

    java版源码demo-飞易来硬件盒子的使用

    该源码很简单只有几个文件,其它主要是第三方jar包,笔者是用的idea写的,下载好后一般只要修改一下项目里的jdk位置就可以测试了,另外就是jdk位数与版本,我用的是32位的jdk8,如果你是64位的不换也没问题,改一下...

    MF00328-企业级Java快速开发框架源码.zip

    6、基于Bootstrap的Java企业通用开发平台框架只引用了一个第三方jar包(sina.jar),这个第三方jar包的源码在附件压缩包里。 7、系统运行在JDK7+和Tomcat7+。 8、开发环境任何地方不要包含非英文路径。

    详解Android Studio如何导入第三方类库、jar包和so库

    第三方类库源码 将一网友的XMPP代码从ADT转到AS时,发现其使用了第三方类库,源码放在了lib下,直接在AS中Import project,第三...将第三方源码qqEmoji-lib拷到此目录,修改settings.gradle增加此lib: include ':app'

    仿360悬浮球实现系统内存和cpu利用率实时展示(含项目源码)

    1、使用java的Jframe开发!未引用任何第三方插件!自动隐藏任务栏显示!...4、所有代码就一个类(249行代码未引用任何第三方jar包)。5、备注:使用exe4j生成的exe文件,jre请自行压缩瘦身,左边球为内存,右边为cpu。

    集成安卓主流优秀第三方组件框架.zip

    这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP   已集成第三方...

    基于Bootstrap的Java企业通用开发平台框架(非Maven、Hibernate)

    6、基于Bootstrap的Java企业通用开发平台框架只引用了一个第三方jar包(sina.jar),这个第三方jar包的源码在附件压缩包里。 7、系统运行在JDK7+和Tomcat7+。 8、开发环境任何地方不要包含非英文路径。

    JAVA上百实例源码以及开源项目源代码

    Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...

    修改版json-lib-2.4-jdk14与json-lib-2.4-jdk13 支持JDK1.4与1.3与1.5

    官网发布的json-lib-2.4-jdk...本jar包经过改造,适用于JDK1.4,需要第三方JAR包的支持(commons-beanutils-1.8.2.jar,commons-collections-3.2.jar,commons-lang-2.5.jar,commons-logging-1.1.jar,ezmorph-1.0.6.jar)

    SSH架构源码样例借鉴

    希望借鉴完善的SSH框架,但在下载后,发现很多开源出的 SSH项目组搭建运行过程中,有很多问题,比如没有Maven管理导致第三方jar文件引用混乱,或部分代码/配置异常,等等。种种原因导致SSH源码参 考和运行颇费了一番...

    基于SpringBoot+Vue实现的内容管理系统CMS源码+数据库

    创建好maven项目后,会开始从maven服务器下载第三方jar包(如spring等),需要一定时间,请耐心等待。(另外:Eclipse中会出现红叉的错误警告,如是JavaScript或HTML报错则无需理会,不影响程序正常运行。这是由于...

    完全原创《英雄乱斗》Java回合制游戏源码

    除了jdk1.8以外没有用到任何第三方的代码,你们可以自己做个界面并且打包发布,可以随意修改并进行商业用途,我不在意。此外还有两点问题还未解决,因为懒游戏里面的英雄我用了lol里英雄的名字。已经导出jar包后扫描...

    基于Servlet+JSP+JavaBean的新生管理系统源码+数据库+部署说明(javaweb高分课设).zip

    1.导入第三方包,c3p0配置文件和db.proerties数据库配置文件 2、建包 -dao,dao.impl -service,service.impl -servlet.controller,servle.filter,servle.UI -domain ## 搭建环境 IntelliJ IDEA +MySQL

    JAVA上百实例源码以及开源项目

    Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...

    Java版俄罗斯方块小游戏源码

    增加保存配置信息到文件的功能,声音设置、显示设置、关卡选择等配置信息在修改后将会保存在jar包同级目录下(以jar相同的文件名+.cfg后缀保存) 2010-10-05 【Java版俄罗斯方块】 这个程序是用Java开发的,需要...

    Android应用源码带PM2.5数据的知雨天气

    不过无论是因为什么原因都有解决的方法,定位部分可以替换成百度地图提供的第三方定位locSDK.jar,可以很快速的实现定位。如果是返回信息的原因把应用内读取的json字段名与返回的字段名修改成一致就可以了。有耐心的...

    eoe客户端源代码

    libs目录用于存放项目引用的第三方jar包。 libs目录里的jar包文件: libs |- android-support-v4.jar --v4兼容包 |jackson-all-1.9.2.jar --解析json的包 |umeng_sdk.jar --友盟的sdk 3、res目录 res目录存放工程...

Global site tag (gtag.js) - Google Analytics