(前文故事中, 有人提到了 Target SDK)
然后我在官方 Android 文档的API 29 的变更中看到这么一句话:
移除了应用主目录的执行权限
从可写应用的主目录执行文件的行为违反了 W^X 安全机制。
应用应仅加载在应用的 APK 文件中嵌入的二进制代码。
我不懂 Android 开发, 上述文档能否理解为:
Target SDK 29 之后的应用, 其所有可会涉及到的二进制代码, 必须全打包进 APK 文件, 不允许从远程服务器下载二进制代码 (包括 Java 的 dex, jar 文件, C/C++ 的 so 文件) 然后动态加载并运行?
不知道这个理解是否正确.
像之前拼多多那种, 或其它国产流氓应用, 他们会使用一种病毒木马才会用的黑科技, 就是将部分的流氓的代码, 并未打包进 APK, 而是等待程序运行后, 从服务器远程下载二进制代码并运行. 按上述 Android 文档的描述, 这种黑科技在高版本 Android 下被废掉了吗?
就是说如果我需要从第三方网站下载没在 Play 商店上架的应用, 只要专门寻找 Target SDK 29 版本后的 (Target 版本越高越好), 就相对更安全一些呢?
1
mars2023 117 天前
动态加载还是可以的;
拼多多之前的行为主要是提权。 |
2
codehz 117 天前 1
dex 不需要 x 权限(
|
3
starsight 117 天前
热更新?这种不管吧
|
4
yanqiyu 117 天前 via Android
> 应用应仅加载在应用的 APK 文件中嵌入的二进制代码。
只是没了+x ,受影响的也就 termux 这种加载 ELF 格式可执行的程序会受到影响 不过我猜动态可执行还是能从 linker 执行,除非 Android 的 linker 改变了行为 |
5
yankebupt 117 天前
没办法,国外一般更新审核审一天就过了,国内一审审一礼拜……
结果全搞热更新去了 |
6
sir283 117 天前
这个只是由 data 的 app home 路径,改为 app 的 library 路径了,内嵌一个 libso 文件即可执行 elf 二进制文件。国内的酷安社区有很多现成的成品,比如 adb tool 、Android IDE 、sence 等。
|
7
lisongeee 116 天前
我在你上一个帖子 /t/1060321 里回复 《 xiaomi Android 14 没复现,能说一下具体的复现步骤吗?》
但是你没有回复,能在此具体回复一下吗?或者看到这条评论的老哥也能回复教教我怎么复现吗? |
8
kile 116 天前
target 越高权限收的越紧,有些不给调,有些调了直接蹦
还有 Android 版本越高,你能装的 target 版本的 app 也会越高 建议去谷歌市场,新更新的再过几个月 target 版本直接干到 33 去了 目前 Android14 targetSdkVersion 小于 23 的应用直接是装不了了,除非 ADB 开发者来装 |