android - Proguarding Android 应用程序——它有多重要(尤其是与应用程序内支付相关的)

标签 android security in-app-purchase obfuscation proguard

我意识到这是一个很复杂的问题,但我希望对混淆和公钥安全等有更深入了解的人能够提供帮助 - 当然,问题不仅限于应用内购买的应用,但这是我目前的个人兴趣。

我曾经犯过在我的一个(免费)Android 应用程序上使用 ProGuard 的错误 - 我说错误是因为用户报告的跟踪问题变成了彻头彻尾的噩梦,我很快意识到我一无所获,所以我放弃了它。

我现在已经为应用程序和具有应用程序内购买功能的应用程序(同时使用亚马逊和谷歌计费系统)做好了发布准备,似乎强烈建议使用混淆器(或类似的替代方法)——但在我回到那个之前噩梦,它真的很重要吗?

如果人们想对我的代码进行逆向工程以删除广告或“免费”获得应用程序,那么我敢肯定他们会以某种方式做到这一点 - 但我显然不想制作计费系统和人们个人的东西凭据不太安全!

Google Play In-App Billing 谈到混淆应用内产品公钥之类的东西(通过将它们存储在单独的位中以便更难更改它们)——我想 Proguarding 不会进一步削弱它——但这只是我的应用程序吗还是会对其他人的应用程序/客户自己的人身安全产生更广泛的影响?

基本上 - 我一点也不关心盗版者,因为他们会不顾一切地做他们做的事,我当然不想为此目的而给自己工作,但我也不想削弱其他用户的安全性!

有人对此有足够的了解来发表评论吗??

最佳答案

ProGuard 仅有助于防止盗版;它不会影响个人信息的安全。

即使有人破解了他们的客户端(也就是您的应用程序),精心设计的支付处理系统(面向公众)仍然是安全的。人们最多只能在不付费的情况下访问付费内容,但黑客无法通过 Google 或亚马逊支付系统破坏其他人的应用程序。

因此,向应用添加 Google 或亚马逊支付处理不会影响应用的安全性。

但是,如果黑客设法通过常规手段侵入他人的手机,他们可能能够访问存储在您的应用中的支付信息。但是 ProGuard 只保护代码,不保护个人信息,所以它也不能防止这种黑客攻击。

关于android - Proguarding Android 应用程序——它有多重要(尤其是与应用程序内支付相关的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897392/

相关文章:

angularjs - 无法在 Angularjs 版本 1.4.4 中使用 $cookies.putObject 为 cookie 设置安全标志

swift - IAP 的 NSCoding 或 Userdefaults

ios - RMStore离线收货验证

java - 如何获取用户在android中的下一个 Activity 中正在检查的项目的名称?

java - 如何在Java中调用以回调为参数的函数

spring - 如何知道当前 Web 访问者是否使用 Spring Security 3.0 登录

iphone - 恢复应用内购买时出现 StoreKit 错误

android - 如何忽略 AndroidManifest.xml 中的无效值?

android - 在 Android 中的 ProgressDialog/AlertDialog 上禁用背景暗淡

php - 如何保护与远程 mysql 数据库的连接