Spielehack mit Delphi

05/28/2011 13:12 HerrErdnuss#1
Ich wollte mal fragen, ob ihr ein Tutorial kennt, wo beschrieben wird
wie man einen Spielehack mit delphi erstellt.
In C++ bin ich noch nicht eingearbeitet und habe das programm auch nicht.

Das mit delphi kann am besten ein normales programm sein oder
eine dll.

MfG HerrErdnuss
06/08/2011 17:25 HardCore.1337#2
bitte: [Only registered and activated users can see links. Click Here To Register...]

1 sek. gesucht

sonst hier die DLL Injektion Vorlage

Code:
library testdll;

uses
  SysUtils,
  Windows,
  Classes;

VAR
    dwOldDestProt: DWord = 0; 
    Data: Array[0..1] of Byte;

{$R *.res}

Procedure MemSet; stdcall;
begin
  Data[0] := $EB; // Opcode
  Data[1] := $07; // Opcode


  VirtualProtect(Ptr(Adresse), SizeOf(Byte)*2, PAGE_EXECUTE_READWRITE, @dwOldDestProt);
  
  CopyMemory(Ptr(Adresse), @Data, SizeOf(Byte)*2);

  // Alten Modus wiederherstellen
  VirtualProtect(Ptr(Adresse), SizeOf(Byte)*2, dwOldDestProt, nil);


end;

exports MemSet;

begin
  MemSet;
end.
08/06/2011 20:45 King William#3
Assuming I don't speak german very well (to be honest just a little bit) I've seen you are looking for a trainer's source code in Delphi.
Maybe you can try this stand alone here i'm using ProcessInfo 1.3 and I don't have Rad installed so I cannot test this code out for you
Api Used is WriteProcessMemory you can check it out on msdn
BOOL WINAPI WriteProcessMemory(
__in HANDLE hProcess,
__in LPVOID lpBaseAddress,
__in LPCVOID lpBuffer,
__in SIZE_T nSize,
__out SIZE_T *lpNumberOfBytesWritten
);
------------------------------------------------------Source starts here
var
ProcessInfo : TProcessInfo;
Process : TProcessItem;
PID: Cardinal;
ProcessHandle : THandle;
ThreadId : integer;
buffer : PChar;
write : cardinal; // it is the fifth parameter of
//WriteProcessMemory A pointer to a variable that receives the number of
//bytes transferred into the specified process.
//This parameter is optional. If lpNumberOfBytesWritten is NULL,the
//parameter is ignored.

Const
William = 'William is cool obviously! :P'
Address = $1A3D33E; // [the address] A pointer to the base address in //the specified process to which data is written
Value = $32; // the value you need to set
NumberOfBytes = 1; // the number of bytes to be written to the process

//# (Put the following code inside a command button routine)#

begin
ProcessInfo := TProcessInfo.Create(nil);
try
Process := ProcessInfo.RunningProcesses.FindByName('the name of the process you wanna hack plus the extension, E.G : calc.exe');
if Assigned(Process) then
begin
PID := Process.ProcessID;
ProcessHandle := OpenProcess(PROCESS_ALL_ACCESS,False,PID);
if ProcessHandle > 0 then
try
GetMem(buf,1);
buffer^ := Chr(Value);
WriteProcessMemory(ProcessHandle,ptr(Address),buff er,NumberOfBytes,write;
FreeMem(buf);
closehandle(ProcessHandle);
finally
CloseHandle(ProcessHandle);
end;
end;
finally
ProcessInfo.Free;
ShowMessage(William);
end;
end;

--------------------------------------------------------End Source it should work
if you change your mind and you prefer develop a trainer in c# or c++ I'm here :p
William