Advertisement
Guest User

Untitled

a guest
Mar 14th, 2018
2,285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.91 KB | None | 0 0
  1. var mbi: TMemoryBasicInformation;
  2. si: STARTUPINFO;
  3. pi: PROCESS_INFORMATION;
  4. ctx: _CONTEXT;
  5. hInst: HMODULE;
  6. Buffer: Byte;
  7.  
  8. const HPBAR_VISIBLE_OFFSET: SIZE_T = $13FC1BA;
  9. begin
  10.   ZeroMemory(@si, SizeOf(si));
  11.   ZeroMemory(@pi, SizeOf(pi));
  12.   ZeroMemory(@mbi, SizeOf(mbi));
  13.   si.cb := SizeOf(si);
  14.   CreateProcess('C:\Program Files (x86)\Overwatch\Overwatch.exe', 'uid=prometheus', nil, nil, False, CREATE_SUSPENDED, nil, nil, si, pi);
  15.  
  16.   ZeroMemory(@ctx, SizeOf(ctx));
  17.   ctx.ContextFlags := CONTEXT_FULL;
  18.   GetThreadContext(pi.hThread, ctx);
  19.   VirtualQueryEx(pi.hProcess, Pointer(ctx.Rcx), mbi, SizeOf(mbi));
  20.   hInst := HMODULE(mbi.AllocationBase);
  21.  
  22.   ReadProcessMemory(pi.hProcess, Pointer(hInst+HPBAR_VISIBLE_OFFSET), @Buffer, 1, PSIZE_T(nil)^);
  23.   Buffer := Buffer xor 1;
  24.   WriteProcessMemory(pi.hProcess, Pointer(hInst+HPBAR_VISIBLE_OFFSET), @Buffer, 1, PSIZE_T(nil)^);
  25.  
  26.   ResumeThread(pi.hThread);
  27. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement