-
Indirect Syscall
-
Using Exception Directory to get SSNs
-
Mask Syscall Stub in static file
-
Dynamic decrypt stub and make Call
Only support x64,C++ 17, Visual Studio
#include "PIGSyscall.hpp"
static auto& syscall = pigsyscall::syscall::get_instance();
#define NtAllocateVirtualMemory_Hashed 0x067D7D4F
int main() {
void* allocation = nullptr;
SIZE_T size = 0x1000;
syscall.CallSyscall(NtAllocateVirtualMemory_Hashed,
(HANDLE)-1,
&allocation,
0,
&size,
MEM_RESERVE | MEM_COMMIT,
PAGE_READWRITE);
getchar();
return 0;
}
- HWBP Support
- argument spoofing
- make a trampoline of call through kernel32/user32
@Moriarty of RedCore
https://github.com/crummie5/FreshyCalls
https://www.mdsec.co.uk/2022/04/resolving-system-service-numbers-using-the-exception-directory/