直接与间接Syscall及堆栈欺骗
直接 / 间接 Syscall 与堆栈欺骗本文整理对 Direct Syscall、Indirect Syscall,以及 SysWhispers4 式栈顶欺骗的学习与复现:从高层 API 一路下沉到 syscall,再处理返回地址在调用栈上的异常。 一、从高层 API 到直接 Syscall要做的事始终没变:申请内存、写入 shellcode、创建线程执行。变化的是调用链下沉到哪一层。 1. High Level:走 kernel32最直接的做法,就是调用高层 API: VirtualAlloc → memcpy → CreateThread → WaitForSingleObject → CloseHandle → VirtualFree 2. Medium Level:改走 ntdll下一步不再依赖 kernel32 导出,而是用 GetModuleHandle 拿到 ntdll,再用 GetProcAddress 按名字解析函数地址: 先声明对应 Nt* 函数签名,把解析到的地址转成可调用函数,再把原先的 kernel32 API 全部换成 ntdll ...
进程注入
记录下进程注入的学习总结