6

android 应用程序在安装后如何计算自己的 md5 校验和?尝试谷歌搜索,但所有结果都是关于另一个应用程序计算其他人的校验和。

4

1 回答 1

9

那会有什么用?为了与某些东西进行比较,预期的校验和需要在 APK 中。但是,如果有人更改了您的 APK(重新打包等),他们也可以轻松更改预期值。您可以从服务器上获取它,但如果它们弄乱了您的包,也可以禁用它。

此外,一些工具会直接修补 Dalvik 缓存中的代码,从而改变您的应用程序所做的事情,而无需接触 APK。

通常,您只需获取 APK 的路径,读取为二进制文件并使用MessageDigest. 您可以使用PackageManager获取应用程序信息,然后ApplicationInfo#sourceDir为您提供包的位置。顺便说一句,这可能不适用于 JB(4.1 及更高版本)上的付费应用程序,因为您无权读取实际 APK(这是​​“前向锁定”的结果,也称为“应用程序加密”)。

于 2012-12-18T06:41:49.230 回答