Target 到 Android 10 的应用不能创建可执行文件了

2019-09-04 08:08:00 +08:00
 gzxu

https://developer.android.google.cn/about/versions/10/behavior-changes-all#execute-permission

大概意思是应用只能从 APK 内部打包好的可执行文件里面创建进程,不能通过下载或者自己编译的方式生成可执行文件,生成了也不给执行

所以感觉 Termux 要凉啊,好不容易有个 Android 上面能用的包管理器了,而且自己用 Termux 里面的 gcc 或者 go build 编译程序这种方法也要凉了

14646 次点击
所在节点    Android
10 条回复
liuxey
2019-09-04 08:35:55 +08:00
Android 10 includes the following security changes.

Removed execute permission for app home directory

Untrusted apps that target Android 10 cannot invoke exec() on files within the app's home directory. This execution of files from the writable app home directory is a W^X violation. Apps should load only the binary code that's embedded within an app's APK file.

In addition, apps that target Android 10 cannot in-memory modify executable code from files which have been opened with dlopen(). This includes any shared object (.so) files with text relocations.

==

看着是有条件的禁止,不是做 android 的,不太清楚具体细节
gzxu
2019-09-04 08:44:06 +08:00
@liuxey #1 嗯呢,大概看了下讲的就是这个意思,只要是第三方针对 API 29 的都无法执行可写的文件
momocraft
2019-09-04 09:36:57 +08:00
什么叫 Untrusted apps,从 google play 装的算吗
s82kd92l
2019-09-04 09:41:45 +08:00
Termux 早就有 issue 讨论这个了,以后很可能要采用 proot 或者 qemu user mode 来绕过
iwtbauh
2019-09-04 09:42:08 +08:00
wtf ? fuck ypu Google!!!
deorth
2019-09-04 12:15:01 +08:00
逐渐 IOS 化
JIT 怎么办
Buges
2019-09-04 12:20:59 +08:00
挺好的,一定程度遏制了下热更新。
至于 termux,拿个 root 处理下就好。
azh7138m
2019-09-04 14:45:16 +08:00
@Buges 唉,现在不 root 也能跑的吗。。。
weishu
2019-09-04 16:24:07 +08:00
Termux 凉不了,这也不是用来遏制热更新的。/data/data/<package>/ 下的文件无法 exec,但是不意味着无法动态加载 dex,也不意味着 /data/app/<package>/lib [param] 无法执行。
gzxu
2019-09-05 06:38:21 +08:00
@Buges #7 iOS 上都能靠 JS 搞出热更新😂感觉更多的是恶心我们这样喜欢折腾的人

@weishu #9 能写的地方都不能执行,所以 apt-get 那一套是没办法用了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/597716

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX