gpt4 book ai didi

java - 使用签名哈希保护 Android 应用

转载 作者:行者123 更新时间:2023-12-02 09:05:51 30 4
gpt4 key购买 nike

使用下面的代码,我有 2 个用于调试和发布签名的哈希值。只有具有我的哈希值的应用程序才应被允许访问服务器。

我尝试在我的手机和服务器上安装破解版。在日志中我发现哪个破解版本与我的发布签名具有相同的哈希值。我分析了破解版的代码,破解者甚至没有更改服务器计算最终URL的功能。

这是否意味着他们使用了我的签名来删除广告的破解版应用程序?据我了解,破解者应该使用自己的签名来签署破解的应用程序,但这不是真的吗?他们肯定无权访问我的 keystore 。我在一篇文章中找到了这种保护应用程序的方法,但似乎这不是一个好方法。

如何识别破解版本?

public static String getSignature(Context context) {
String apkSignature = null;
try {
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(
context.getPackageName(),
PackageManager.GET_SIGNATURES
);
for (Signature signature : packageInfo.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
apkSignature = Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.e("DEBUG", "SIGNATURE: " + apkSignature);
}
} catch (Exception e) {}
return apkSignature;
}

最佳答案

你不能。无论您进行什么检查,当您的应用程序被破解时,这些检查都将被删除并替换为始终返回“正确”结果的代码。

关于java - 使用签名哈希保护 Android 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817456/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com