1625-5 王子昂 总结《2018年3月12日》 【连续第527天总结】
A. 反调试技术(5)
B.
NativeAPI
API的调用过程中,User态和Kernel态的通信仅通过ntdll.dll
换句话说,Win32子系统和兼容的Win16、MSDOS、OS/2等子系统都是通过kernel32.dll或直接调用ntdll.dll的
然后ntdll.dll通过int 0x2e系统中断触发Kernel的服务,最后到硬件抽象层hal.dll来实现
在xp系统后,进入内核态的方法由int 2e改为Sysenter调用了,不过int 2e的方法并没有被删除
与Linux的系统中断类似,int 2e时也是通过eax来描述调用函数的
而具体的调用函数表,即系统服务表(SystemServiceTable),保存在服务描述表(ServiceDescriptorTable)中
这些函数就是NativeAPI了,根据SDT可以查到eax的值与函数的对应关系
C. 明日计划
反调试技术(6)