能力值:
( LV2,RANK:10 )
26 楼
王麻子本人
比较呆的写法是这样:添加一条jump指令
BPF_JUMP(BPF_JMP+BPF_JEQ+BPF_K, __NR_openat, 0, 2),
BPF_JUMP(BPF_JMP+BPF_JEQ+ ...
终于搞的差不多了, 这样写可以拦截到想hook的系统调用
struct sock_filter filter[] = {
BPF_STMT(BPF_LD | BPF_W | BPF_ABS, offsetof(struct seccomp_data, nr)),
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_execve, 3, 0),
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_write, 2, 0),
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_read, 1, 0),
BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, __NR_openat, 0, 1),
BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_TRACE),
BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_ALLOW)
};
大佬, 有时间研究一下返回值的修改啊, proot项目中有, 但是看不懂
能力值:
( LV3,RANK:30 )
27 楼
mb_czxkzsmv
终于搞的差不多了, 这样写可以拦截到想hook的系统调用
struct sock_filter filter[] = {
BPF_STMT(BPF_LD | BPF_W | ...
你仔细看一下哇还是比较简单的,思路比较吊,实现起来就那一点点代码而已。
能力值:
( LV2,RANK:10 )
28 楼
mb_czxkzsmv
终于搞的差不多了, 这样写可以拦截到想hook的系统调用
struct sock_filter filter[] = {
BPF_STMT(BPF_LD | BPF_W | ...
打包注入方式,while(1)导致app主进程无法往下执行,怎么不漏掉最佳hook时机,又不影响主进程呢
能力值:
( LV2,RANK:10 )
29 楼
恋一世的爱
打包注入方式,while(1)导致app主进程无法往下执行,怎么不漏掉最佳hook时机,又不影响主进程呢
我还没有在安卓上运行, 以上代码都是我在Linux上实现的, Linux上运行调试比较方便学习, 暂时无法解答这个问题
能力值:
( LV3,RANK:30 )
30 楼
恋一世的爱
打包注入方式,while(1)导致app主进程无法往下执行,怎么不漏掉最佳hook时机,又不影响主进程呢
注入进去的so是子进程附加app主进程。
能力值:
( LV1,RANK:0 )
31 楼
大佬牛逼
能力值:
( LV2,RANK:10 )
32 楼
本人有点菜 demo的编译环境是啥 linux还是windows 如果是windows 需要安装make 和 clang++吗?还是说ndk自带?如果ndk自带的话 如何具体操作来配置呢?
能力值:
( LV2,RANK:10 )
33 楼
王麻子本人
注入进去的so是子进程附加app主进程。
H:\git\projects\ptrace-seccomp-demo>make
clang++ -target aarch64-linux-android21 arm_seccomp_ptrace.cpp -o tuziseccomp -static-libstdc++
arm_seccomp_ptrace.cpp:20:10: fatal error: 'arm64_seccomp.h' file not found
#include "arm64_seccomp.h"
^~~~~~~~~~~~~~~~~
1 error generated.
make: *** [Makefile:2: all] Error 1
大佬 这怎么搞
能力值:
( LV3,RANK:30 )
34 楼
万里星河
H:\git\projects\ptrace-seccomp-demo>make
clang++ -target aarch64-linux-android21 arm_seccomp_ptr ...
这个文件我git发了的
能力值:
( LV2,RANK:10 )
35 楼
王麻子本人
这个文件我git发了的
用这个ptrace安卓应用后 会导致安卓的View卡死 但日志表明程序还在正常运行 这个问题大佬遇到过吗?
能力值:
( LV2,RANK:10 )
36 楼
万里星河
用这个ptrace安卓应用后 会导致安卓的View卡死 但日志表明程序还在正常运行 这个问题大佬遇到过吗?
我也遇到,不知道怎么解决
能力值:
( LV2,RANK:10 )
37 楼
恋一世的爱
我也遇到,不知道怎么解决
我也是一头雾水 估计得系统学习一下ptrace原理才行
能力值:
( LV4,RANK:40 )
38 楼
tql
能力值:
( LV2,RANK:10 )
39 楼
恋一世的爱
我也遇到,不知道怎么解决 这个其实View也并不是直接卡死 貌似只是View的更新出了问题 从日志来看里面的view还是能响应点击时间的 只是Toast不出来 或者 无法更新View的内容 总之就是ptrace上之后 View就无法更新了 但还是能响应各种事件 这到底是什么问题呀 都快把我搞自闭了
最后于 2023-1-4 14:30
被万里星河编辑
,原因:
能力值:
( LV2,RANK:10 )
40 楼
万里星河
恋一世的爱
我也遇到,不知道怎么解决 这个其实View也并不是直接卡死 貌似只是View的更新出了问题 从日 ...
2023-01-04 16:03:53.579 9788-9820/com.example.systemcalldemo E/libEGL: error opening cache file /data/user_de/0/com.example.systemcalldemo/code_cache/com.android.skia.shaders_cache: Function not implemented (38)
2023-01-04 16:03:53.607 9788-9820/com.example.systemcalldemo E/vndksupport: Could not load /vendor/lib64/hw/gralloc.msm8998.so from sphal namespace: dlopen failed: library "/vendor/lib64/hw/gralloc.msm8998.so" not found.
2023-01-04 16:03:53.607 9788-9820/com.example.systemcalldemo E/HAL: load: module=/vendor/lib64/hw/gralloc.msm8998.so
unknown
2023-01-04 16:03:53.607 9788-9820/com.example.systemcalldemo E/libc: Access denied finding property "hwservicemanager.ready"
2023-01-04 16:03:53.607 9788-9820/com.example.systemcalldemo E/libc: Access denied finding property "hwservicemanager.ready"
原因应该是拦截openat导致这个库没加载成功 把__NR_openat换成其他的就正常 具体怎么解决就看各位大佬的啦
能力值:
( LV2,RANK:10 )
41 楼
万里星河
恋一世的爱
我也遇到,不知道怎么解决 这个其实View也并不是直接卡死 貌似只是View的更新出了问题 从日 ...
2023-01-04 16:17:09.580 10473-10507/com.example.systemcalldemo W/SharedPreferencesImpl: Cannot read /data/user/0/com.example.systemcalldemo/shared_prefs/embryo.xml
java.io.FileNotFoundException: /data/user/0/com.example.systemcalldemo/shared_prefs/embryo.xml (Function not implemented)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:231)
at java.io.FileInputStream.<init>(FileInputStream.java:165)
at android.app.SharedPreferencesImpl.loadFromDisk(SharedPreferencesImpl.java:151)
at android.app.SharedPreferencesImpl.access$000(SharedPreferencesImpl.java:54)
at android.app.SharedPreferencesImpl$1.run(SharedPreferencesImpl.java:122)
能力值:
( LV2,RANK:10 )
42 楼
感觉是影响了java层的open函数
能力值:
( LV3,RANK:30 )
43 楼
万里星河
用这个ptrace安卓应用后 会导致安卓的View卡死 但日志表明程序还在正常运行 这个问题大佬遇到过吗?
在android运行在主线程安装seccomp子线程进行监听回调,有空我发个android的demo吧。
能力值:
( LV2,RANK:10 )
44 楼
万里星河
2023-01-04 16:03:53.579 9788-9820/com.example.systemcalldemo E/libEGL: error opening cache file /dat ...
不是吧,我就算没hook nr openat也是卡
能力值:
( LV2,RANK:10 )
45 楼
恋一世的爱
不是吧,我就算没hook nr openat也是卡
你把kill(paid,SIGSTOP)注释掉就不会了
能力值:
( LV2,RANK:10 )
46 楼
王麻子本人
在android运行在主线程安装seccomp子线程进行监听回调,有空我发个android的demo吧。
我觉得不是这个问题 感觉主要是没处理好与openat挂钩的java层的native函数 你看FileInputStream的open0函数 提示的错误是Function not implemented
能力值:
( LV2,RANK:10 )
47 楼
万里星河
我觉得不是这个问题 感觉主要是没处理好与openat挂钩的java层的native函数 你看FileInputStream的open0函数 提示的错误是Function not implemented
纯linux程序由于没有涉及jni 跑起来自然没问题 可一旦涉及安卓程序 就会出bug
能力值:
( LV2,RANK:10 )
48 楼
王麻子本人
在android运行在主线程安装seccomp子线程进行监听回调,有空我发个android的demo吧。
发出来我再测试看看,感觉就是会导致安卓APP主线程卡住
能力值:
( LV3,RANK:30 )
49 楼
恋一世的爱
发出来我再测试看看,感觉就是会导致安卓APP主线程卡住
建议你仔细阅读demo理解每一行代码的用途自己研究一下吧你这个语气阿里p8大牛吧。
能力值:
( LV2,RANK:10 )
50 楼
王麻子本人
建议你仔细阅读demo理解每一行代码的用途自己研究一下吧你这个语气阿里p8大牛吧。
你可能误会了,我没有命令的语气,我是说如果你有发出来,我再测试看看,没有命令的语气,真比窦娥冤。