能力值:
( LV13,RANK:260 )
|
-
-
2 楼
文章目的是什么?process_vm_readv 和 process_vm_writev 自实现,绕过 调用检测? 那为啥不直接参考 这辆syscall 的内核实现。。。。bug 还少。。。
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
ycmint
文章目的是什么?process_vm_readv 和 process_vm_writev 自实现,绕过 调用检测? 那为啥不直接参考 这辆syscall 的内核实现。。。。bug 还少。。。
因为参考这两 syscall 的实现,最终效果就是本文提及的差不多的技术。而且按你的想法实现的话,是没办法和内核解耦的,更不可能在没有源码的情况下实现这效果。
|
能力值:
( LV13,RANK:260 )
|
-
-
4 楼
没懂。。。。 没有源码咋就不能这效果。。。我解决掉preload ko 就能跑了。。。
|
能力值:
( LV13,RANK:260 )
|
-
-
5 楼
vrolife
因为参考这两 syscall 的实现,最终效果就是本文提及的差不多的技术。而且按你的想法实现的话,是没办法和内核解耦的,更不可能在没有源码的情况下实现这效果。
或者,我压根不需要解决加载ko 这些事。。我找个合适的地方,binary 插入vmlinux进去就好。。。
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
ycmint
或者,我压根不需要解决加载ko 这些事。。我找个合适的地方,binary 插入vmlinux进去就好。。。
不是没考虑这样的方案,问题是这样子要解决很多符号和数据结构问题,不然就得为每份内核配置和每个内核版本编译一个ko。内核很多接口都是内联或者干脆是宏,无源码做兼容太难了。
|
能力值:
( LV13,RANK:260 )
|
-
-
7 楼
vrolife
不是没考虑这样的方案,问题是这样子要解决很多符号和数据结构问题,不然就得为每份内核配置和每个内核版本编译一个ko。内核很多接口都是内联或者干脆是宏,无源码做兼容太难了。
那你的厉害方案是啥呢
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
ycmint
那你的厉害方案是啥呢
不厉害,也就是尽可能少引用内核符号罢了。然后部署的时候实时从内核binary里取几个偏移量就行了。开始我第一个念头也是仿那两个syscall, 结果兼容性一言难尽。而且那两个syscall核心原理就是锁内存页,不暂停目标进程的话,不安全,暂停了的话,性能太受影响。期待你分享别的方案
|
能力值:
( LV4,RANK:40 )
|
-
-
9 楼
这......
|
能力值:
( LV5,RANK:70 )
|
-
-
10 楼
扫描内存的时候,使用mincore过滤掉缺页内存不就可以绕过检测了么,用魔法打败魔法
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
不知世事
扫描内存的时候,使用mincore过滤掉缺页内存不就可以绕过检测了么,用魔法打败魔法
不这么做,主要是考虑竞态条件的问题。这样做,只有过滤线程和陷阱线程是同一个线程的时候,才能经济地实现。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
我看刑,说吧准备做哪个游戏
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
不吃早饭
我看刑,说吧准备做哪个游戏[em_87]
别开玩笑了,还是有方法能检测到这种类型的内存读写的,还不需要任何特殊权限。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
感谢分享
|
能力值:
( LV4,RANK:50 )
|
-
-
15 楼
感谢分享!
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
vrolife
别开玩笑了,还是有方法能检测到这种类型的内存读写的,还不需要任何特殊权限。
有什么好办法对抗这种驱动读写吗?
|
能力值:
( LV3,RANK:20 )
|
-
-
17 楼
袁伟业
有什么好办法对抗这种驱动读写吗?
这是秘密
|
能力值:
( LV5,RANK:70 )
|
-
-
18 楼
直接内核读写
|
能力值:
( LV9,RANK:270 )
|
-
-
19 楼
很好的帖子 , 内核里面做读写确实可以逃逸mincore ,但是crc咋办
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
学习到了。 楼主的发的几个文章都写的挺好的,思路和用到的技术,引用到逆向分析都有很大的帮助。 都没评优,版主要给个吧。
最后于 2025-11-29 12:48
被huangjw编辑
,原因:
|
|
|