use*_*828 16 android directory-structure binaryfiles dynamic-linking
我正在编辑某些二进制文件的路径,而不是重新编译它们.
我想/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,但它特定于我的手机,并没有根据@ChrisStratton记录.同样的/data/logcat_log.
/sdcard被排除,因为保险丝选项rw,nosuid,nodev,relatime,user_id=1015,group_id=1015,default_permissions,allow_other限制链接和可执行文件并将/lib/ld-linux-armhf.so.3被执行.
有谁知道我怎么能做到这一点?
我终于偶然发现了一个apk,AIDE,它可以创建简单的 apk,它不需要任何 x86 计算机,并且可以在手机本身上运行。在没有支付任何费用的情况下,我在二十分钟内创建了我的第一个apk,并在临时授权未知来源后能够安装它。那是我的第一个java程序。我为 apk 选择了一个简短但信息丰富的名称com.symli(com.似乎有必要)。
MainActivity.java然后我修改了编辑器的选项卡以获得:
package com.symli;
import android.app.*;
import android.os.*;
public class MainActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
try
{
Runtime.getRuntime().exec("ln -s /data/data/com.termux/com.symli /data/data/com.symli/n");
Runtime.getRuntime().exec("chmod 1777 /data/data/com.symli");
} catch (java.io.IOException e) {
}
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Run Code Online (Sandbox Code Playgroud)
然后我只需单击“运行”按钮,符号链接就永远在这里了,/data/data/com.symli 本身就是一个世界可写目录(设置了粘性位):
lrwxrwxrwx 1 10150 10150 50 Nov 3 13:17 /data/data/com.symli/n -> /data/data/com.termux/com.symli
drwxrwxrwt 4 10150 10150 4096 Nov 3 2015 /data/data/com.symli
Run Code Online (Sandbox Code Playgroud)
我已将生成的.apk上传到http://sf.net/projects/gentooandroid/files/symlinksForStackoverflowQuestion20459834v2.apk/download(权限:无!SHA256sum:01fd17a8700f2cb5b5bb943b38b623b1400679fa03c35ccb204619d1d5d4 86ff MD5 总和:879af0633504ab25462a1f9b2303587e)
| 归档时间: |
|
| 查看次数: |
2699 次 |
| 最近记录: |