很容易通过应用程序管理器(如Astro)从手机中提取apk应用程序.
谷歌有一个基础保护已被放弃,有利于更有效的许可证管理,但旧的保护使得在Google Play市场之外的apk的不加区别的份额变得更加复杂.
该LVL有一个开源库,但我还没有找到关于GOOGLEPLAY基地抗APK复制保护的具体实现.
除了许可证管理保护之外,类似的解决方案也很有用.
我已经看到一些应用程序仍然以与旧版Google Play保护相同的方式阻止了apk副本.
是否有人知道反apk拷贝如何工作,或者是否有类似的开源保护库?
有人问过这种操作应该是什么原因.
原因很多:
- 避免通过未经授权的渠道不加区别地传播APK
- 避免使用winzip打开APK的第一个菜鸟可以轻松提取所有资源(如PNG图像,按钮,纹理,数据库等)供他使用
- 提高一般安全性
PS
我知道,对于每一种保护,总有一种解决方法可以打破它,但这并不意味着留下非常简单的方法来滥用你的工作始终是最好的选择.
我目前正在构建一个获取信用卡信息的设置.使用以下结构:
服务器1:
我使用PBKDF2散列,完成了基于此代码构建的类.
服务器2:
我的问题:
如果服务器1以这种格式存储paswword:algorithm:iterations:salt:hash
例如: sha256:1000:Pe27BkIKkBHklogp9Io80iRKtF+6koly:nrYUwOlixwJECRcjBRKwQ+MVNMTbnYnm
如果服务器一被泄露,在我看来,拥有这种格式的密码将使他们很容易破解网站的密码并访问用户的信用卡信息.
这是我需要使用Mysql(AES_ENCRYPT()和AES_DECRYPT())的情况吗?
我在想这个吗?
有没有更好的方法来保护服务器1中的信息?
根据评论更新
我建立了我的供暖和空气公司系统.任何在线支付的人如果愿意,都可以使用quickbooks存储他们的cc信息.我有几个较大的客户,我们每月在办公室收费,并通过桌面终端处理cc.这些客户在我们的服务器上有客户档案,他们可以访问.这些是我希望允许存储cc信息的客户端.这样我就不必将cc信息存储在我们办公室的纸上,供任何人查找.
我有一些自定义drawable但不幸的是当我尝试在设备上运行应用程序时,无法加载drawable.
通过各种测试,我注意到未加载的图像始终是第一个
public static final class drawable {...}
Run Code Online (Sandbox Code Playgroud)
在自动生成的文件中 R.java
详细地说,资源图像的地址为0x7f020000:
public static final int bt_a_1=0x7f020000;
Run Code Online (Sandbox Code Playgroud)
这些地址按字母顺序分配,
所以我解决了简单地添加另一个名为a1.png未在项目中使用的图像.
通过这种解决方法一切正常,但我不知道这个荒谬问题的原因是什么.
编辑
自从HoneyComb发布以来,这是一个已修复的Android问题Ia971bb242ceac5e8f9346094009a10f356399ab9
由于低级资源缓存冲突错误,会发生此问题.
更多信息:https: //android-review.googlesource.com/#/c/15815/
所有使用早于HoneyComb的操作系统的设备都会出现此问题...为了避免这些设备中的错误,请使用我所描述的相同策略.
如果有人建议我通过Image API访问Google Googles API或Google Search,那就太棒了.
目前看来谷歌并不鼓励将此API用于第三方开发人员,而不像其他Google API.
谷歌网站上的图片搜索有一个带摄像头的按钮,允许用户上传图像并开始按图像内容搜索,如果Google Googles API无法直接访问,也许,一个好主意可能是解析Google搜索图像页面代码并实现通过Google Site访问此服务的系统.
在应用程序中访问此功能的方法将为开发人员提供创建新的真棒应用程序的无限可能性.
有什么建议吗?
我有一个使用Google许可保护服务的应用.我已经成功测试了这个应用程序(目前已在Google Play上播放了几周)和许可证检查.
几天前,我发布了另一个具有相同保护和另一个私有的应用程序
static final byte[] SALT = new byte[] {....}
许可证检查也适用于此应用程序.
今天我更新了第一个发布的应用程序的单一布局.我已经测试了应用程序,并且我的意外未通过超时问题检查许可证(并且我的Internet连接工作正常)
10-25 01:04:16.689: I/LicenseChecker(2739): Binding to licensing service.
10-25 01:04:16.709: I/LicenseChecker(2739): Calling checkLicense on service for myapp.package.comu
10-25 01:04:16.709: I/LicenseChecker(2739): Start monitoring timeout.
10-25 01:04:26.719: I/LicenseChecker(2739): Check timed out.
10-25 01:04:28.579: I/LicenseChecker(2739): Binding to licensing service.
myapp.package.comu
10-25 01:04:28.609: I/LicenseChecker(2739): Start monitoring timeout.
10-25 01:04:38.619: I/LicenseChecker(2739): Check timed out.
Run Code Online (Sandbox Code Playgroud)
我已经尝试从控制台更改我的许可证响应但没有成功,许可证检查服务不响应我的应用程序.
在第二个应用程序中,使用了不同的软件包和我发布的相同保护逻辑,LVL的工作没有任何问题.
我无法确定这个问题可能是什么原因.
我也试过使用相同的SALT数组但没有成功.
现在我只能希望应用程序的买家有同样的问题.
任何的想法?