gpt4 book ai didi

android - Android Q 上 "android:useEmbeddedDex"的用途

转载 作者:行者123 更新时间:2023-12-02 12:10:55 31 4
gpt4 key购买 nike

从此处 ( https://developer.android.com/preview/features#embedded-dex ),您可以看到 Android 引入了一项新功能,允许使用嵌入式 dex 直接从 APK 内运行代码。

我很好奇这有什么用?

指南说:

This option can help prevent an attack if an attacker ever managed to 
tamper with the locally compiled code on the device."

我的理解是,当你的APK安装时,它会被编译并作为优化的dex文件存储在dalvik缓存中。 dalvik 缓存只能由系统用户访问,因此除非手机已 root,否则攻击者无法访问它。

如果手机已root(并且攻击者以root身份运行),则嵌入的dex文件仍然可以被篡改,因为攻击者可以修改apk并使用自己的 key 重新签名。

谢谢!

最佳答案

正确。通过启用此选项,您将强制系统使用 JIT 编译器直接从 .apk 文件运行 dex 代码(就像 Android 4.4 之前的 dalvik 上一样),而不是 AOT (5+) 或两者的组合 (4.4- 5)。您无法在不重新签名的情况下修改和运行 apk 内的 dex 代码,并且由于您没有原始签名 key ,因此您必须使用不同的 key 对其进行签名。作为应用程序开发人员,您可以实现代码检查 apk 签名和校验和,从而不允许运行已被篡改的 apk。另一方面,dalvik 缓存中拥有的是 .dex 文件的优化版本和预编译的 .oat 文件,这些文件未签名,因此具有可以修改它们的 root 权限。

关于android - Android Q 上 "android:useEmbeddedDex"的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55682204/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com