Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html
常用汇编指令集合
1. gdtr
2. bt/btr/bts
3. cli/sti
1.gdtr 读取gdt表地址
其需要六个字节,但是前两个字节并没有用处。
汇编代码:
CHAR Sgdtr[6] = { NULL };
__asm {
sgdt Sgdtr;
}
查看内存地址:ff 03 00 f0 03 80
后四个字节值为 8003f000,可以用windbg r gdtr 来验证.
2. bt byte-test,bt [a],b 将b位放到zf位。
btr byte-test reset,将b位放到zf上,原位值0。
bts byte-test set,将b位放到zf上,原位置为1。
3. cmc cf位取反
4. cli 关闭中断
sti 开启中断
5. invlpg dword ptr ds:[0];
强制刷新该地址的TLB,哪怕是全局TLB可会被刷新。