【发布时间】:2012-12-05 08:15:06
【问题描述】:
Android 应用程序在安装后如何计算自己的 md5 校验和?尝试谷歌搜索,但所有结果都是关于另一个应用程序计算其他人的校验和。
【问题讨论】:
-
你可以为每个用户提供一个独特的软件版本...但是你为什么不做一个文件类型管理器,而不是用它自己的文件空间服务器查找来加密标题和破坏文件。
Android 应用程序在安装后如何计算自己的 md5 校验和?尝试谷歌搜索,但所有结果都是关于另一个应用程序计算其他人的校验和。
【问题讨论】:
这会有什么用?为了与某些东西进行比较,预期的校验和需要在 APK 中。但是,如果有人更改了您的 APK(重新打包等),他们也可以轻松更改预期值。您可以从服务器获取它,但如果它们弄乱了您的包,也可以禁用它。
此外,一些工具会直接修补 Dalvik 缓存中的代码,从而无需接触 APK 即可更改应用的功能。
通常,您只需获取 APK 的路径,读取二进制文件并使用MessageDigest 进行计算。您可以使用PackageManager 获取应用信息,然后ApplicationInfo#sourceDir 为您提供包的位置。顺便说一句,这可能不适用于 JB(4.1 及更高版本)上的付费应用,因为您无权读取实际 APK(这是“前向锁定”的结果,也称为“应用加密”)。
【讨论】: