二:META-INF文件分析
这篇文章对META-INF文件分析的很细致,很到位。
我也来分析下这几个文件。
1.MANIFEST.MF
第一行表示Manifest-Version版本,第二行表示由什么软件产生,比如Oracle的Java1.8,Ant,Gradle等。
之后内容是每一个文件的Hash值的Base64编码值。
可以通过在线文件Hash,在线Base64这种网站测试。
我使用的网站:对文件做hash:http://www.atool.org/file_hash.php 16进制字符串转换成base64编码:http://tomeko.net/online_tools/hex_to_base64.php?lang=en
结果和MANIFEST.MF文件中的一摸一样:
2.CERT.SF
第一行:版本号
第二行:MANIFEST.MF文件中,第一个属性块的hash-base64编码值,验证方法:将MANIFEST.MF文件前两行内容连同后面的两个回车换行拷贝到一个新的文件中保存,像验证上述文件一样的方法即可验证成功。
第三行为MANIFEST.MF文件的hash-base64编码值,验证方法与上述方法一样。
第四行为创建软件。
之后的每个块内容是MANIFEST.MF中对应每个文件块内容的hash-base64编码值,验证方法与验证SHA-256-Digest-Manifest-Main-Attributes的方法一样。
3.CERT.RSA
这个文件中存放的是证书信息以及对CERT.SF文件的签名。