TLB
- 因每次读线性地址最少需要查3次表,所以建立TLB缓存机制
- 将同一页的线性地址与物理地址的对应关系缓存
- TLB结构,线性地址-物理地址-属性-统计使用频率
- CR3切换后TLB会被清空,如果PDE和PTE的G位为1不会被清空
- G位为1可以使用invlpg指令清空某一个TLB记录
- TLB分为大页与小页,大页小页又分为数据页与代码页
- 检测线程读取的时候会放入数据页TLB中,代码的TLB改为自己的代码可以简单绕过线程检测,但是不稳定,TLB经常刷新
- 可以HOOK系统API,jmp到自己的代码中,不影响功能的话可以进行代码拷贝,修复全局变量、IAT
验证TLB的存在
做一个调用门,门中调用以下代码,最后print出TEMP