能力值:
( LV2,RANK:10 )
|
-
-
2 楼
我用了会报错 Failed to spawn: error creating directory /system/lib64/IOserver: Read-only file system
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
正常编译16.0.9普通版本可以运行,用patch后,运行会导致系统不断重启
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
找到问题了 ; 释放到/sytem/lib64一样有权限问题,不开启系统分区写权限时,无法创建目录; 开启写入权限,则系统重启; 更换目录后,可以正常spawn,但是check程序,显示线程检测通过不了。
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
司徒废人
找到问题了 ;
释放到/sytem/lib64一样有权限问题,不开启系统分区写权限时,无法创建目录;
开启写入权限,则系统重启;
更换目录后,可以正常spawn,但是check程序,显示线程检测 ...
也许我以前修改过这个目录权限吧 自己也可以测试放在其他目录 或者默认目录也一样 特征基本都修改了
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
hzzheyang
我用了会报错
Failed to spawn: error creating directory /system/lib64/IOserver: Read-only file system
有问题可以不修改目录的生成位置
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
我hook了 线程检测,有线程名为pool-frida; threadCheck ret value is found pool-frida thread: Name: pool-frida; 然后脚本中加了下面这句,还是不行 # thread_pool-frida random_name = "".join(random.sample("abcdefghijklmn", 10)) log_color(f"[*] Patch `pool-frida` to `{random_name}`") os.system(f"sed -b -i s/pool-frida/{random_name}/g {input_file}")
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
还有一些小毛病吧,修改一下
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
司徒废人
我hook了 线程检测,有线程名为pool-frida;
threadCheck ret value is found pool-frida thread: Name: pool-frida;
...
老哥找到解决办法了吗
|
能力值:
( LV1,RANK:0 )
|
-
-
10 楼
老哥解决了嘛
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
还没找到这个字符串创建的位置,等大佬指点
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
司徒废人
还没找到这个字符串创建的位置,等大佬指点
pool-frida 我也修改不成功 我的想法就是 patch 大部分特征+anti的脚本去进行对抗 单纯指望一次性修改掉所有特征我觉得不太现实
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
这个什么错误啊
最后于 2023-3-23 15:12
被Avenue-le编辑
,原因:
|
能力值:
( LV3,RANK:20 )
|
-
-
14 楼
司徒废人
找到问题了 ;
释放到/sytem/lib64一样有权限问题,不开启系统分区写权限时,无法创建目录;
开启写入权限,则系统重启;
更换目录后,可以正常spawn,但是check程序,显示线程检测 ...
老哥解决了吗?一样的问题,启动服务直接重启
|
能力值:
( LV3,RANK:20 )
|
-
-
15 楼
司徒废人
我hook了 线程检测,有线程名为pool-frida;
threadCheck ret value is found pool-frida thread: Name: pool-frida;
...
好像是system目录的问题,我挂载了能正常写入也是会重启,我把路径改到/data/local/tmp/目录下重新编译就正常了,不过楼主发的线程检测、map记录检测和fd检测都检测到了,应该特征就是这个路径
|
能力值:
( LV3,RANK:20 )
|
-
-
16 楼
wx_嗨
好像是system目录的问题,我挂载了能正常写入也是会重启,我把路径改到/data/local/tmp/目录下重新编译就正常了,不过楼主发的线程检测、map记录检测和fd检测都检测到了,应该特征就是这 ...
这个检测不全是这个原因,你可以把检测的so用ida分析一下检测逻辑就明白检测了哪些点
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
pool-frida在frida注入十来秒后就没了,自己写个app用frida启用等十来秒后加载libmsaoaidsec.so也不会闪退,就是不知道在哪里改这个字符串特征
|
能力值:
( LV1,RANK:0 )
|
-
-
18 楼
司徒废人
我hook了 线程检测,有线程名为pool-frida;
threadCheck ret value is found pool-frida thread: Name: pool-frida;
...
在内核中修改 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -2298,6 +2298,10 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, if (strncpy_from_user(comm, (char __user *)arg2, sizeof(me->comm) - 1) < 0) return -EFAULT; + if (!strcmp(comm, "pool-frida")) { + memcpy(comm, "pool-works", strlen(comm)); + pr_info("prctl rename from %d\n", me->pid); + }
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
mark
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
ivy1
在内核中修改
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -2298,6 +2298,10 @@ SYSCALL_DEFINE5(prctl, int, o ...
我是4.10内核 改了kernel/sys.c 这个位置确实可以了,忘了从内核下手 case PR_SET_NAME: comm[sizeof(me->comm) - 1] = 0; if (strncpy_from_user(comm, (char __user *)arg2, sizeof(me->comm) - 1) < 0) return -EFAULT; if (!strcmp(comm, "pool-frida")) { memcpy(comm, "pool-works", strlen(comm)); pr_info("prctl rename from %d\n", me->pid); } set_task_comm(me, comm); proc_comm_connector(me); break;
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
Yuusha
我是4.10内核 改了kernel/sys.c 这个位置确实可以了,忘了从内核下手
case PR_SET_NAME:
comm[sizeof(me->comm) - 1] = 0;
...
补一个简单过PrettyMethod的检测方法,把手机的libart.so拖出来看PrettyMethod函数头原来的几个字节进行修改,这样改应该会对frida部分功能造成影响 function fridaInlineHookCheckPass(){ //PrettyMethod //获取libart模块 var libart = Process.findModuleByName("libart.so") console.log("libart base: " + libart.base); //打印原函数头字节 var PrettyMethod = libart.base.add(0x175475); console.log(myhexdump(Memory.readByteArray(PrettyMethod, 16))) //修改函数头字节 Memory.protect(PrettyMethod, 16, "rwx"); var p_fun = new NativePointer(PrettyMethod) p_fun.writeByteArray([0xF0, 0xB5, 0x85, 0xBD, 0x04, 0x46, 0x3E, 0x48, 0x0D, 0x46]) //修改代码段属性 Memory.protect(PrettyMethod, 16, "rx"); //再次打印函数头查看是否修改成功 console.log(myhexdump(Memory.readByteArray(PrettyMethod, 16))) }
|
能力值:
( LV1,RANK:0 )
|
-
-
22 楼
pool-%s 对应pool-frida
|
能力值:
( LV1,RANK:0 )
|
-
-
23 楼
太复杂了看不懂
|
能力值:
( LV1,RANK:0 )
|
-
-
24 楼
hluwa的Patch中的 0003-string_frida_rpc.patch文件 - .add_string_value ("frida:rpc")
+ .add_string_value ((string) GLib.Base64.decode("ZnJpZGE6cnBj=")) 这个替换,"ZnJpZGE6cnBj=" base64解码后还是 "frida:rpc" ,那这个替换的意义在哪?
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
VinceLi
hluwa的Patch中的 0003-string_frida_rpc.patch文件- .add_string_value (&quo ... 防止内存扫描吧
最后于 2024-1-8 15:24
被ldzspace编辑
,原因:
|
|
|