android - 关于 Google Play 应用 Assets 加密的问题

标签 android encryption google-play android-4.2-jelly-bean apk

从 v4.1 开始 Jelly Bean ,Google 为 Google Play 引入了新的应用程序 Assets 加密功能。似乎在升级应用程序时出现了一些问题,包括重启后丢失的持久数据,这是由于 apk 目录的变化(旧的是 /data/app,现在是 /mnt/asec)。

因此,对于 OS 2.3+,在 Google Play 上发布(或更新已发布的应用程序)时,

  • 我可以禁用此选项并发布未加密的应用程序吗?
  • 问题的当前状态是什么?有解决方法吗?

除了这个问题之外,提供额外保护以防止盗版的想法似乎还可以,但还有一些我在文档中找不到解释的额外注意事项:

  • 发布到其他商店或通过 OTA 部署的应用会怎样?它们也可以加密吗?如果没有,那么如果有人可以从其他地方下载未加密的 apk 并立即反编译,那么在 Google Play 发布中造成如此痛苦的意义何在?
  • 手机root能打败吗?
  • 为 OS 4.0+ 提供的 apk 是唯一 protected 吗?如果是这样,那么,如果有人可以将未加密的 apk 下载到 Gingerbread 手机上,然后用 adb 将其拉出并以通常的方式进行反编译,那么这有什么意义呢?
  • 假设该机制有效:备份应用程序(如 Titanium Backup)或使用 adb 的手动 apk 备份怎么样。它们还能工作吗?
  • 性能:某些应用可能具有相当大的 apk 大小。这种机制会影响性能吗?操作系统是否会在每次加载整个 apk 时对其进行解密?

提前致谢

更新:
编辑以包含指向 Google 代码问题的链接。
Issue 34880 (closed but with some devs still complaining; status: future release)
Issue 35962 (closed; status: released)

更新 #2:
有趣的信息 this blog post由第一期中的一位开发人员链接。还有here德语。

Users and developers report that in the last few days the problem appears to have disappeared for applications installed using the latest version of Google Play (3.7.15). Users who have previously installed problematic apps will need to uninstall and then re-download them free of charge. According to one report, the new version of Google Play now saves paid-for apps to /data/app again, meaning that Google has deactivated the copy protection feature for now. Google has not commented publicly on the problem. The bug is marked as medium priority, with a status of "FutureRelease" for a possible fix.

最佳答案

(咕哝,咕哝,耸肩,/我只是说……)

就个人而言(从一个以某种方式设法从商业应用程序中赚钱 23 年并且还在不断增加的人的角度来看......),我会是 FAR (!) 更关心这个:

Users who have previously installed problematic apps will need to uninstall and then re-download them ...

...而不是我会花在任何“盗版思想”上。 (因此,也没有任何'防御'[原文如此]反对他们。)

我的一个非常好的 friend 曾经把一把非常昂贵的 12 弦吉他放在一个硬纸板(!)箱子里……用任何人都可以买到的最便宜的挂锁固定。正如他所说,挂锁是为了“将诚实的人拒之门外。”

“说得好,罗伯特……”

一定的,微小的,百分比的“这个星球上的人”实际上可能会“做任何(!)它需要”来“破解”保护你的任何东西想卖。 [在我的大学时代,我有一个 friend 积极收集 Apple ][软盘,显然只是为了“击败”他们的智力挑战。]

这样的人不是你的¢-u-$-t-o-m-e-r-$!”

因此,我恭敬地建议:

  • “是的, '在你的吉他盒上放一个挂锁。”

  • ...但不要特意去“阻止别人偷你的吉他”。

  • ...因为 (成千上万的(!)!!) 付钱给你的人 M-O-N-E-Y ... 不(! !) 希望不便! (也不想象他们可能,甚至可以想象(!!),是:“不信任!”)

想一想。 . .

"You walk through the front-door of the store at the mall, [having just made a $300 purchase ...] and, (lo and behold!!) the Sensormatic system "complains loudly!!" What does the clerk (and the store manager) do? They wave at you!! "Have a nice day!"

[即使他们不知道你是否花了 300 美元,或者你可能是个小偷……他们……向你挥手。如果你是小偷,那是保险公司的事。最好的选择是您是客户,他必须(!)收到一个道歉但非常(!)友好的挥手告别。]

在“实际商业”的现实世界中,记住这些事情是值得的!

相信我:“最简单、最容易被打败的” token 锁会做。唯一的要求是:“它存在。完全存在。”

关于android - 关于 Google Play 应用 Assets 加密的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138563/

相关文章:

android - 由于 Google Play 控制台的 APK 签名过程,无法更新 Unity 游戏

android - 无法在 Android Studio 中解析 FragmentActivity、FragmentTransaction 等

android - Facebook API key 哈希 - 调试和发布

android - Android JobService 需要导出吗?

java - AES用openssl命令行工具加密,用Java解密

sql - 您如何对编码或加密数据进行 PostgreSQL 全文搜索?

Android 屏幕兼容性问题

android - 如何保持安卓上的 GPS/定位服务始终开启?

android - 通过wifi在android设备之间传输数据

java - 我能否知道所使用的加密算法,以便我可以编写自己的登录代码?