该类BillingService的意见建议:在BillingService模块中,需要修改哪些内容才能提高安全性?
您应该修改,并在使用前混淆这个代码。
好的,但是什么必须修改?
类名?用于记录的TAG?方法名称和数据成员?逻辑和程序流程本身?其他?
换句话说,我可以理解混淆的需要,但是我怎样才能实现建议而不重写所有从零开始(可能包含比不修改任何东西更糟的错误)?
该类BillingService的意见建议:在BillingService模块中,需要修改哪些内容才能提高安全性?
您应该修改,并在使用前混淆这个代码。
好的,但是什么必须修改?
类名?用于记录的TAG?方法名称和数据成员?逻辑和程序流程本身?其他?
换句话说,我可以理解混淆的需要,但是我怎样才能实现建议而不重写所有从零开始(可能包含比不修改任何东西更糟的错误)?
我工作的这个在这个时刻,我的做法,到目前为止,情况如下:
希望这会有所帮助。
你的详细答案绝对值得+50。谢谢。 – 2012-02-06 03:32:45
他们解释如下:
的应用内结算示例程序是公开的分布式和可 任何人都可以下载,这意味着它是相对容易的 攻击者逆向如果工程应用程序您完全按照发布的样本使用示例代码 。示例应用程序旨在将 仅用作示例。如果您使用示例 应用程序的任何部分,则必须在发布应用程序之前对其进行修改,或将其作为生产应用程序的 部分发布。
特别是,攻击者在应用程序中查找已知入口点和出口点 ,因此修改代码中这些与示例应用程序相同的部分非常重要。
这意味着不要使用提供的代码,更改其中的一部分,以便黑客无法知道您使用的代码。
基本上,我不认为他们的意思是billingService本身,而是您在应用程序中使用它的方式。
确定,但该评论出现在示例中的几个模块中,每个模块的开始处:BillingService,ResponseHandler,PurchaseDatabase。什么样的变化? – 2012-01-29 23:52:21
更改为使用它们的应用程序,而不是直接对其进行更改。 – 2012-01-30 09:03:39
我喜欢你的解释,但恐怕这与谷歌的意思相反:“如果你使用**示例应用程序的任何部分**,则必须在发布或释放它之前修改它,作为**的一部分一个生产应用程序“。对我而言,这意味着重组至少上述3个模块。 – 2012-01-30 11:54:39
这里没有好消息:除了使用Proguard之外,您需要更改任何可以使用的东西。这包括合并类,分裂他们,从一个模块移动某些方法到另一个,特别是加密存储在数据库中的购买信息,作为PurchaseDatabase
类的说明提示:
你应该在储存之前,使用混淆任何信息到 持久性存储。混淆器应该使用特定的密钥 给设备和/或用户。否则,攻击者可以复制一个充满有效购买的数据库 并将其分发给其他人。
的原因是与像AntiLVL工具是很容易的反编译(混淆!)代码比较原始样品,并从中任何需要妥协该帐户扣除。完全防止破裂是不可能的,但是你应该尽可能地让它变得困难。
它在哪里说的? – 2012-01-29 23:06:18