Topic: 我想打开一个.jar,改动一点,然后再封起来,应该怎样做?

  Print this page

1.我想打开一个.jar,改动一点,然后再封起来,应该怎样做? Copy to clipboard
Posted by: JAVACAT
Posted on: 2004-08-27 08:30

我拿到一个jar包,对它不太满意,想打开,对里面的内容做小小改进,再重新打回jar包。请问哪位高人有这方面的经验,请教用哪些工具好。

2.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: lordofring
Posted on: 2004-08-27 09:28

用jar命令就可以了。

3.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: kanlou
Posted on: 2004-08-27 09:39

这样用:

用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有
文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ .

4.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: dearmeiw
Posted on: 2004-08-27 10:29

用WINRAR打开改完了再塞进去就OK了,呵呵!

5.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: joelwx
Posted on: 2004-08-27 11:01

你所说的改动是什么意思??
如果要重新编译文件的话,那就要反编了(当然这是在你没有源文件的情况下)
改完了再打回JAR就可以用了

6.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: dearmeiw] Copy to clipboard
Posted by: floater
Posted on: 2004-08-27 11:24

dearmeiw wrote:
用WINRAR打开改完了再塞进去就OK了,呵呵!

be careful the path in the jar.

7.Re:感谢指教!还有点不问题 [Re: JAVACAT] Copy to clipboard
Posted by: JAVACAT
Posted on: 2004-08-27 11:24

这个jar命令是把.class文件打包的吧?我这个包里共有48个.class文件,用这种文本命令方式就太不方便了。
我的思路是:先把拿来的.jar包解开(做到了,得到48个.class文件和一个manifest.mf文件);把需要改的.class文件反编译得到.java文件并改进(这也做到了);然后就有问题了:我想有两种方法:一个是单独把改过的.java文件先编译成.class文件,再和其他的.class一起打包,但是单独编译这个.java老出错(因为这个class调用别的class)。还有一个方法就是把全部.class都反编译成.java,然后一起编译,打包。但是也老出错。
请帮我分析一下,哪里出了问题?是思路问题还是方法问题?谢谢

8.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: kam
Posted on: 2004-08-27 11:50

幹嘛要反編譯那些class才放進去?

自己在project裏改了, make一次就ok啦 ^.^

9.慢点,我初学,不太明白。 [Re: JAVACAT] Copy to clipboard
Posted by: JAVACAT
Posted on: 2004-08-27 11:58

恳请讲详细点,我初学,理解力差点。
不反编译怎么看到源代码呢?
你是说在project打开文件,是指.class文件?
用哪种编辑工具打开project比较好用?

10.Re:用WINRAR打开改完了再塞进去就OK了 [Re: JAVACAT] Copy to clipboard
Posted by: JAVACAT
Posted on: 2004-08-27 12:02

我说的改动是想改变一下界面的颜色形式等,很小的改动。
用WINRAR打开我会,但是再塞回去就不会了,怎样塞回去呢?请教

11.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: kam
Posted on: 2004-08-27 12:03

照你的意思, 那個jar不是你寫的, 只是拿別人的下來decompile後, 修改完再pack 成 jar 嗎?

那麼你全部decompile, 在自己的editor中修改完後

run 一次, ok後再 pack 成jar ^.^

p.s: decompile是用來學習, 不是用來偷用哦...^.^

12.Re:不想偷别人程序 [Re: JAVACAT] Copy to clipboard
Posted by: JAVACAT
Posted on: 2004-08-27 23:56

是这样,我很喜欢一个网页,但是不喜欢它的颜色,这网页里带有java applet,
我就想把它的程序小改一下,还放回去,还是用来运行它的网页。还不知行不行,谢谢大家

13.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: yung
Posted on: 2004-08-30 14:51

用jar很麻烦的,还是用winzip吧,winzip总会用吧?
用winzip先解开包,修改完后,再压包,再改名为.jar ,就可以了

14.Re:我想打开一个.jar,改动一点,然后再封起来,应该怎样做? [Re: JAVACAT] Copy to clipboard
Posted by: seaboy
Posted on: 2004-09-01 10:44

有时候反编译Jar,未必能成功。


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923