【发布时间】:2013-12-25 22:12:41
【问题描述】:
我正在编辑一些binaries 的路径,但没有重新编译它们。
我想用一条相同长度的路径替换我无法创建的/lib/ld-linux-armhf.so.3,我可以在不生根手机的情况下创建它。它应该是相同的长度,因为我正在编辑二进制文件。在下面列出的不同可能性之后,我选择了路径/data/data/com.clk/.so.3。我要做的是创建/data/data/com.clk/.so.3,它应该是/data/data/com.spartacusrex.spartacuside/gentoo_armv6l/lib/ld-linux-armhf.so.3的符号链接
我最初使用/proc/5781/cwd/rmhf.so.3,但其他应用程序(即其他 linux 帐户)无法读取。
然后我尝试了/data/.tmp,但它在我的手机上是specific,并且根据@ChrisStratton 没有记录。 /data/logcat_log 也一样。
/sdcard 被排除在外,因为 fuse 选项 rw,nosuid,nodev,relatime,user_id=1015,group_id=1015,default_permissions,allow_other 限制链接和可执行文件,而 /lib/ld-linux-armhf.so.3 将被执行。
有谁知道我还能如何做到这一点?
【问题讨论】:
-
不,他们不是。您在这些方面发现的内容因 Android 版本而有很大差异。考虑使用库路径覆盖环境变量来启动您的二进制文件。
-
好的,我更新了我的问题:/data/.tmp/ 不可用,所以我要求有人提供我的短完整路径,并提供赏金。
-
您认为最简单的解决方案是生成 APK 吗?
-
@user2987828 您不需要以 root 身份登录来创建指向受保护内容的合成链接吗?
-
@meewoK:没有。您可以在终端 IDE 中尝试
ln -s /data/data/jackpal.androidterm/lib/libjackpal-androidterm4.so 3,即使 /data/data/jackpal.androidterm 不存在,它也会创建符号链接。如果您安装终端仿真器,该路径将存在并且符号链接将起作用。这是因为所有涉及的目录在ls -l的输出的第十列中至少有最后一个x(安装终端仿真器后尝试ls -ld / /data /data/data /data/data/data/jackpal.androidterm/)
标签: android binaryfiles directory-structure dynamic-linking