有没有一种方法可以确定两个具有相同包名的APK是否不同(假设它们来自2个不同的市场)?获取应用程序的哈希值能帮助我吗?谢谢
在 APK 上计算哈希或数字签名将告诉您它们是否完全相同。如果您想知道它们是否在功能上等效,则必须提取内容并检查资源和可执行文件。如果它们具有相同的名称,那么我大约有50%的把握它们是等效的。如果它们实现了所有相同的类和方法(按名称),我会有90%的把握它们在功能上是等效的。
如何在 Linux 上计算文件的 MD5 签名:
md5sum filename
如何在Mac或BSD上计算文件的MD5签名:
md5 filename
如何使用OpenSSL计算文件的MD5/SHA1/SHA512签名:
openssl dgst -md5 filename
openssl dgst -sha1 filename
openssl dgst -sha512 filename
cat * | md5sum
cat * | openssl dgst -sha512
我对Android没有太多经验,但你不能比较APK的大小吗?
你可以使用Androguard:从GitHub下载后进行安装,在终端中输入以下命令:
python androsim.py -i first.apk second.apk -c ZLIB -n
它在这里解释了这里