10 2023 档案
摘要:CO-RE原理 因为不同的内核版本的系统内部结构体会有差异,例如struct user_arg_ptr,当内核编译配置中存在CONFIG_COMPAT=y的时候,会在native成员之前增加一个布尔变量is_compat,这样native的偏移就发生的变化。 如果编写的ebpf内核程序需要访问str
阅读全文
摘要:ecapture ebpf利用uprobe/uretprobe可以hook用户层函数,通过对https SSL层的SSL_write和SSL_read进行hook可以拦截明文数据信息。大佬的开源项目:ecapturehttps://github.com/gojue/ecapture,编译参考:htt
阅读全文
摘要:之前通过修改内核插桩并编写内核模块的方式hookdo_sys_open函数(这种方式有点像tracepoint,都属于静态探测),这种方式优点是可以hook内核中的任意函数,但是需要编译内核和驱动模块较为麻烦。 eBPF相当于在内核中定义了一个虚拟机,能够加载eBPF字节码并依赖kprobe,upr
阅读全文
摘要:拉取源码 当前pixel6是android13,所以选择了common-android13-5.10分支 接着就需要拉取对应分支的内核代码 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downlo
阅读全文
摘要:sign分析 首先对https进行抓包,密码验证接口的http头部有一个x-sign字段的值为3bb776e25f1f4f7334f706d723adae79e26a6a56 hook libc.so的字符串和内存相关处理函数,然后进行栈回溯。可以hookmemcpy, memmove, memcm
阅读全文