Loading

syscall调用原理

一、从异常目录中读取函数调用地址(只适用于x64)

将NTDLL.dll映射到只读内存中,在调用之前将函数调用地址复制到可执行缓冲区,并执行。
参考文章和代码:
https://modexp.wordpress.com/2020/06/01/syscalls-disassembler/
https://github.com/odzhan/injection/tree/master/syscalls

二、使用反汇编程序来执行内核函数(x64)

对于其原理和步骤参考文章如下:
https://outflank.nl/blog/2019/06/19/red-team-tactics-combining-direct-system-calls-and-srdi-to-bypass-av-edr/
https://github.com/outflanknl/Dumpert
说明:其中unhookapi也是一种绕过杀软方式,通过修改杀软检测api的jmp代码,让其api脱钩

三、基于hash从PEB获取API地址(x86和x64均可)

参考工具如下(getapi):
https://github.com/odzhan/shellcode/tree/master/os/win/getapi/dynamic
说明:代码需要重构,此版本有直接编译有问题

posted @ 2021-12-12 01:53  Ctrl_C+Ctrl_V  阅读(407)  评论(0编辑  收藏  举报