映像劫持
https://blog.csdn.net/2303_78851087/article/details/145960315
0x7ffc09380000
0xe47d000
RIP >= 0x7ffc09380000 && RIP < 0x7ffc09380000 + 0xe47d000
a + b - 2*(a & b)
👉 这是 XOR 的代数等价式
ETW
负责监听事件,这里不过多阐述,直接看文章
https://cn-sec.com/archives/4620779.html
这个文章也可以作为对抗学习
值得一提的是,Trace的原理和ETW有关
其次,EDR有一部分是要用到ETW的,可以通过hook NtTraceEvent API来一定程度的反EDR,通过在模拟执行环境下EventRegister或许可以做到对抗
这里遇到一个记一个
关于找注册的是什么类型ETW的看第一个参数的GUID
https://gist.github.com/guitarrapc/35a94b908bad677a7310
CLR
是负责CLR环境下的事件监听
ACL与ACE
https://www.cnblogs.com/cdaniu/p/15630284.html
首先明确一个概念 ACL和ACE有点像单位 真正的那个不叫ACL 叫DACL或者SACL 是两种的
ACL
ACL叫做访问控制列表 这里的单位是ACE 这里储存的是 访问规则 也就是权限

这个文章里的图片就十分贴合
映射节、事务与回滚
映射节
对于物理内存,我们可以映射出内存,如果这个文件需要被很多文件使用,那么映射出来的内存理应可以被共享——共享节
如一个dll,加载到内存模块中,便是创建了一个映射,CreateSection,对应的我们也可以通过MapViewFile来观察到共享空间,且改变共享空间以至于改变物理地址文件
这里涉及到的API有,我们按照api讲述
NtCreateSection/CreateFileMapping
OpenFileMapping
MapViewOfFile
Unmap
Remap
先说创建,创建Section,实际上是将物理内存映射在内存中,返回一个句柄
再说打开,映射在内存中之后,若有别的进程的程序想要访问此Section,就可以通过OpenFIleMapping打开该Section并返回句柄
MapViewOfFile,映射成功后,用该API得到虚拟基地址
Unmap,解除该Section,注意,解除后不代表进程消失
Remap,重定向这片Section,可以自己再创建一个,并重定向原本映射的节区
事务 | 回滚
事务(Transaction): Windows 提供的事务机制称 Kernel Transaction Manager(KTM),文件级实现叫 TxF(Transactional NTFS)。
回滚(Rollback):当事务中某步失败或被显式放弃时,撤销事务中已做的修改,使系统回到事务开始前的状态。
事务被创建之后,开始的一切行为可以被取消或回滚,举个例子,事务的创建API是CreateTransaction,基于该api进行CreateFile,并进行一系列操作,比如创建一个记事本写东西,都可以随时取消回滚,并且一切行为在普通用户看来是不会改变的,,除非提交
但如果你在事务下创建一个映射节,回滚事务之后,映射节的索引可能会丢失但映射节依然存在