Guest User

Untitled

a guest
May 26th, 2017
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.20 KB | None | 0 0
  1. program CSDC; uses windows;
  2.  
  3. {$R CSDC.res}
  4. var
  5.   hProcess:integer=0;
  6.   dwSize:integer = 0;
  7.   lpParameter:pointer=0;
  8.   dwThreadId:dword;
  9.   G_R : Pchar = 'G-R.dll';
  10.  
  11. function shell(const cmd:string):integer;
  12. var
  13.     PInf:TProcessInformation;
  14.     SInf:TStartupInfo;
  15. begin
  16.     FillChar(SInf,sizeof(SInf),0); SInf.wShowWindow := 1;
  17.     SInf.cb := sizeof(SInf);
  18.     CreateProcess(nil, pchar(cmd), nil, nil,
  19.                   false, $20, nil, nil, Sinf, PInf);
  20. //    WaitForSingleObject(PInf.hProcess, Infinite);
  21. //    CloseHandle(PInf.hProcess);
  22.     result := PInf.hProcess;//: THandle;
  23. end;
  24.  
  25. var
  26.     lpAddress:pointer;
  27.     hMod:hmodule;
  28.     dw:dword;
  29.     Name: array[0..255] of Char;
  30.  
  31. begin
  32.     hProcess:=shell('cstrike.exe');
  33.  
  34.     hMod := GetModuleHandle('kernel32.dll');
  35.     lpAddress := GetProcAddress(hMod, 'LoadLibraryA');
  36.  
  37.     dwSize:=GetModuleFileName(0, Name, SizeOf(Name));
  38.  
  39.     Name[dwSize - 1] := 'l';
  40.     Name[dwSize - 2] := 'l';
  41.     Name[dwSize - 3] := 'd';
  42.  
  43.     lpParameter := VirtualAllocEx(hProcess, 0, dwSize, $3000, $40);
  44.     WriteProcessMemory(hProcess, lpParameter, @Name, dwSize, dw);
  45.     CreateRemoteThread(hProcess, 0, 0, lpAddress, lpParameter, 0, dw)
  46. end.
Advertisement
Add Comment
Please, Sign In to add comment