我需要检测我的应用程序是从谷歌播放还是其他市场安装的,我怎么能得到这些信息?
这可能是一个新手问题,但我会尝试创建一个有趣的辩论。
我知道有一些用于 API 基本身份验证、API 密钥、OAuth 2.0 的身份验证方法……所有这些方法都会在请求中添加标头或 formData 参数。
尽管您使用 SSL,但破解移动应用程序“通常很容易”(我现在正在考虑使用 Android:反编译应用程序、更改清单以允许自定义 SSL、再次编译并通过 SSL 代理嗅探所有请求)。
在这些请求中,我发现了很多身份验证密钥,我可以在控制台的其他调用中使用它们,毫无问题地模拟应用程序。
所以,现在我已经在移动应用程序中破解了一些 API,我的问题是:有没有办法保护移动应用程序中的 API?
我想知道一个安全层会限制每个“密钥”的请求数量。
我错了吗 ?我错过了什么吗?这是一个愚蠢的问题吗?
我在 Play 商店有一个简单的应用程序,而且我只有 4 个用户。没有人安装它,我从 adMob 收到了这封电子邮件。我的问题是,如果我编辑我的应用程序并从中删除广告并在商店更新它可能会影响我在 adMob 和其他解决方案上的帐户,如果我取消发布该应用程序会使我的 adMob 帐户被禁用..请帮助我
为了确保我的付费 android 应用程序是从商店合法安装的,我这样写:
String installer = getPackageManager().getInstallerPackageName(
"com.example.myapp");
if (installer == null) {
// app was illegally downloaded from unknown source.
// dear user, please re-install it from market
}
else {
// app was probably installed legally
// (also it's good to check actual installer name)
}
Run Code Online (Sandbox Code Playgroud)
可以吗?从市场上合法购买和安装的应用程序是否有可能获得空的安装程序包名称并无法通过此测试?
我知道用户可以运行adb -i com.fake.installer myapp.apk并通过此检查,但更重要的是合法用户是否会遇到潜在问题。
android ×3
google-play ×3
admob ×1
api ×1
decompiling ×1
java ×1
mobile ×1
piracy ×1
rest ×1
sideloading ×1