This function serves to hacker who does. Exe file and whenever it priston updates also have to upgrade, it is annoying to have to get down a hacker new every week ...
Essa função serve para quem faz hacker em .exe e sempre que o priston atualiza ele tem que atualizar também, é chato ter que ficar baixando um hacker novo toda semana...
You can use it in various ways since the game is open.function GetUserData : DWORD;
var
PID: DWORD;
hProc : DWORD;
BytesRead,i : DWORD;
pData: Pointer;
begin
Result:=0;
pData:= AllocMem($FFFFF);
if pData = nil then
exit;
PID:= GetPidbyName('game.exe');
hProc:= OpenProcess(PROCESS_VM_READ,False,PID);
if hProc = 0 then
Exit;
if not(ReadProcessMemory(hProc,Pointer($00400000),pData,$FFFFF,BytesRead)) then
Exit;
for i:= 0 to $FFFFF do
begin
if PDWORD(DWORD(pData)+i)^= $2480BF0F then
begin
Result:=PDWORD(DWORD(pData)+i-$4)^;
end;
end;
FreeMem(pData,$FFFFF);
CloseHandle(hProc);
end;
It may be a button on the Form OnCreate or anywhere else is just so:
Você pode usa-la de várias maneiras desde que o game esteja aberto.
Pode ser em um botão, no evento OnCreate do Form ou qualquer outro lugar é só por assim:
Pré requisto:{~~ Nas variáveis globais ~~}
var
Userdata : DWORD;
{~~ No Botão ou sei lá o lugar que tu escolher ~~}
Userdata:= GetUserData;
• Função GetPidByName/GetPID/GetProcessIdByName
Desde que retorne o ProcessId do Processo está de boas.
Onde substituir a função:
PID:= GetPidbyName('game.exe');