能力值:
( LV2,RANK:10 )
|
-
-
2 楼
猫神杀疯了
|
能力值:
( LV12,RANK:240 )
|
-
-
3 楼
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
感谢分享!
|
能力值:
( LV9,RANK:240 )
|
-
-
5 楼
猫神杀疯了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
只希望能否有成品
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
厉害,没想到在安卓平台已经这么卷了。
|
能力值:
( LV1,RANK:0 )
|
-
-
8 楼
猫神杀疯了
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
LZ威武!很好的一种思路。 // 一个问题 比如bcc自带的工具execsnoop,它有在execve系统调用上设置kprobe,当kprobe被触发时,还没有执行完execve,此时的stack等memory layout基本都是复制父进程的mm,perf event抓取到的stack及regs中的lr、sp也都是匹配父进程layout,后续stack数据转发到android这边的socket server,它按照pid取/proc/pid/maps时,因为execve系统调用已经执行完了,内存布局已经完全发生变化了,libunwindstack使用之前的lr/sp这些寄存器、stack数据,对照这个新maps肯定是获取不到正确的符号地址。
当然,原始execsnoop默认也没有使用bpf_getstack之类的获取用户态调用栈,如果获取,bcc解析符号时,理论上也是存在该问题的。
此外,假如被探测的程序还没等socket server那端读取完maps就退出了,maps获取不到,也就无法解析调用栈中的符号地址(原始bcc的实现,虽然没有socket转发,但其实应该也存在这种无法获取到目标maps的情况)。
最后于 2022-11-2 15:47
被netsniffer编辑
,原因:
|
能力值:
( LV13,RANK:240 )
|
-
-
10 楼
netsniffer
LZ威武!很好的一种思路。// 一个问题比如bcc自带的工具execsnoop,它有在execve系统调用上设置kprobe,当kprobe被触发时,还没有执行完execve,此时的stack等mem ...
ID 不错。50卖号吗?
|
能力值:
( LV12,RANK:240 )
|
-
-
11 楼
netsniffer
LZ威武!很好的一种思路。// 一个问题比如bcc自带的工具execsnoop,它有在execve系统调用上设置kprobe,当kprobe被触发时,还没有执行完execve,此时的stack等mem ...
工具肯定或多或少有些缺陷,如果遇到问题再按照问题的解决方向改进就行了。
|
能力值:
( LV1,RANK:0 )
|
-
-
12 楼
大佬,我按照你的,我编译android12 kernel 4.9 加你那些参数,驱动挂了,wiFi不能连接,触摸屏挂了,咋解决哈
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
猫神泰强辣
|
能力值:
( LV1,RANK:0 )
|
-
-
14 楼
强到爆
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
重温经典
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
再温经典
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
再再温经典
|
能力值:
( LV7,RANK:100 )
|
-
-
18 楼
牛
|
|
|