请教JAVA高手,我要替换一幅JAR文件里的GIF图片文件,关于JAVA的签名检验机制问题,分可以再加
我用了一个别的人JAR包,用的时候一切都正常.不过反编译的时候有很多CLASS反编译的不完整。在JAR里面用了一张图片,是GIF格式的。用WINRAR打开这个包可以看到那张图片的文件。
我现在想把这个图片换掉,换成另外一幅图片。可一换就出错(直接在WINRAR里换)。以前我这样做过都没问题的。
后来我解开后重新用JAR命令打包,之后也不对。
然后我发现在那个JAR文件里,有个meta-inf的目录,里面有三个文件,一个是.dsa,一个是.mf,一个是.sf。在.mf和.sf文件中,他有关于每个CLASS和图片文件的摘要:
Name: aa.class
SHA1-Digest: WJHADh2lNplBpU7Zt0g9vfU1rUY=
Name: c.gif
SHA1-Digest: Us08oNSFR4LIB6ELt7Hsk7jB1U8=
后来一查资料才知这是JAVA中的签名检验的问题,会检验每个JAR包里的文件,说是一用JAR命令就会产生这些,可我用JAR命令时产生的meta-inf目录中只有一个.mf的文件,而且只有如下内容:
Manifest-Version: 1.0
Created-By: 1.4.0 (Sun Microsystems Inc.)
不产生上面的那些信息了,请问有没有什么办法让我替换掉那JAR包中的GIF图片而让这个包不出错了?
出错的异常开始就是:SHA1-Digest: **********.开始两个单词和那个.mf文件中的一样的.