Advertisement
Guest User

ThpCreateRawSnap

a guest
May 30th, 2015
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. do
  2. {
  3. ms_exc.registration.TryLevel = 0;
  4. AllocationSize = v9;
  5. ntsStatus = NtAllocateVirtualMemory((HANDLE)0xFFFFFFFF, v10, 0, &AllocationSize, 0x1000u, 4u);// current process v10 = allocation address allocationsize = v9 MEM_COMMIT PAGE_READWRITE
  6. ms_exc.registration.TryLevel = -2;
  7. if ( ntsStatus < 0 ) // if function failed
  8. break;
  9. ReturnLength = AllocationSize;
  10. ntsStatus = NtQuerySystemInformation(SystemProcessesAndThreadsInformation, *v10, AllocationSize, &ReturnLength);
  11. if ( ntsStatus == 0xC0000004 ) // STATUS_INFO_LENGTH_MISMATCH
  12. {
  13. // this should fail
  14. NtFreeVirtualMemory((HANDLE)0xFFFFFFFF, v10, &AllocationSize, 0x8000u);// MEM_RELEASE
  15. *v10 = 0;
  16. v9 = (ReturnLength + 0x1FFF) & 0xFFFFE000;// v9 = returnlength aligned to two page boundaries
  17. ReturnLength = (ReturnLength + 0x1FFF) & 0xFFFFE000;// returnlength = returnlength aligned up by two page boundaries
  18. }
  19. else
  20. {
  21. v9 = ReturnLength;
  22. }
  23. }
  24. while ( ntsStatus == 0xC0000004 );
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement