-
-
[讨论]关于在x64下隐藏可执行内存的问题
-
发表于:
2023-3-14 22:22
11607
-
最近在研究如何在x64平台下研究可执行内存
翻遍了百度谷歌找到了几种隐藏内存的方式:
1.改PDE,PTE的U/S位
2.申请一块不可执行内存然后改PDE,PTE的not_excute标志位
3.断链VAD(然并luan?)
4.加载一个RWX 合法签名 dll到自身进程,然后利用写拷贝(COW)将自己的dll手动映射至RWX代码段,然后加载至目标进程启动(还有将某些"不执行的"dll的只读代码段直接修改PDE,PTE(write,copy_on_write,no_excute位)后在将自己的dll替换入内存,实现另类页表欺骗)
上述方法前两种老外称之页表欺骗,然而在实际测试中这种方式拉闸简直拉出天际(doge),而第三种不仅要过PG,而且貌似效果并不好,第四种相对骚一些但是实现起来不是那么友好,需要一定的条件,且目前主流反作弊已经能够检测到
还有就是万年不变的EPT/NPT隐藏内存,但是对效率的影响较大,暂且不考虑
那么目前x64上是否有更好的隐藏内存的思路?请大佬们赐教,不胜感激~
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)