gpt4 book ai didi

android - 保护应用内购买免受 Freedom Hack

转载 作者:IT老高 更新时间:2023-10-28 22:09:45 26 4
gpt4 key购买 nike

我已经彻底搜索了这个网站以及其他网站的答案,但没有找到真正的答案。

我的问题是 Freedom Hack(它允许用户无需付费即可获得应用内购买)究竟是做什么的。也就是说,改变了过程的哪一部分。我找到了this list黑客适用的应用程序,以及其中一些条目的日期为本月,这意味着它尚未完全修复。我看到的响应是“验证服务器中的应用程序”,但是如果黑客攻击改变了 Java.Security 的签名验证功能,所以它总是返回 true,那么在服务器中添加我自己的签名不会帮助很大。

最佳答案

不知道作者是否还关注这个话题。但是我花了一些时间在我的项目中找出(谷歌搜索)自由的工作方式以及如何防止它(直到他们更新自由的工作方式)并且它有效。我的实现非常简单,不需要通过向服务器发送请求来验证(这会影响性能并需要花费更多的精力来实现)。

freedom 的当前实现是将 java.security.Signature.verify(byte[]) 的所有方法调用替换(重定向)到一个freedom 的jni 方法,而这又只是简单的总是返回 true(或 1)

看看java.security.Signature.verify(byte[]):

 public final boolean verify(byte[] signature) throws SignatureException {
if (state != VERIFY) {
throw new SignatureException("Signature object is not initialized properly");
}
return engineVerify(signature);
}

这里的 engineVerify 方法是一个 abstract protected 方法,它首先定义在 java.security.SignatureSpi(Signature extends SignatureSpi )。好的,够了,因为我不再相信 java.security.Signature.verify(byte[]) 方法,我会直接使用 engineVerify 方法。为此,我们需要使用反射。修改IABUtil/Securityverify方法:

public static boolean verify(PublicKey publicKey, String signedData, String signature) {
Signature sig;
try {
sig = Signature.getInstance(SIGNATURE_ALGORITHM);
sig.initVerify(publicKey);
sig.update(signedData.getBytes());
if (!sig.verify(Base64.decode(signature))) {
Log.e(TAG, "Signature verification failed.");
return false;
}
return true;
} catch (...) {
...
}
return false;
}

收件人:

public static boolean verify(PublicKey publicKey, String signedData, String signature) {
Signature sig;
try {
sig = Signature.getInstance(SIGNATURE_ALGORITHM);
sig.initVerify(publicKey);
sig.update(signedData.getBytes());
Method verify = java.security.SignatureSpi.class.getDeclaredMethod("engineVerify", byte[].class);
verify.setAccessible(true);
Object returnValue = verify.invoke(sig, Base64.decode(signature));
if (!(Boolean)returnValue) {
Log.e(TAG, "Signature verification failed.");
return false;
}
return true;
} catch (...) {
...
}
return false;
}

这很简单,但它适用于当前的自由实现,直到他们将来更新其算法。

关于android - 保护应用内购买免受 Freedom Hack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21966369/

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