{ Important: Methods and properties of objects in visual components can only be
used in a method called using Synchronize, for example,
Synchronize(UpdateCaption);
and UpdateCaption could look like,
procedure crack.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }
{ crack }
function FindMission(EXENAME:String):longint;// FProcessesID
var
Snapshot: TProcessList;
begin
Snapshot:=TProcessList.Create();
result:=Snapshot.GetProcessID(EXENAME);
Snapshot.Free;
end;
function WriteValue(pid:longint;address:string;value:string):Dword;
var
LGet: Dword;
ValueAddress:pointer;
begin
pid:=OpenProcess(PROCESS_ALL_ACCESS,False,pid);
ValueAddress:=ptr(strtoint('$'+address));
WriteProcessMemory(pid,ValueAddress,@value[1],length(value),LGet);
result:=LGet;
end;
procedure crack.docrack;
var
p:longint;
begin
while true do
begin
p:=FindMission('sendsafe.exe');
if p>0 then
begin