Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Elo ;PP zacząłem sobie pisac taki program :P co by podane wartosci z gry wyciagal :D (takie jak hp, Id , haslo). Lecz mam problem ;P

//yyy a może zła nazwa okna? no ale próbowalem różnych; / np ( metin2, metin2client )

// tu funkcja ktora ma wczytywac dane z gry :P

To jest ukryta treść, proszę

poźniej w labelach daje to ;O :

//ma to odczytywac wydobyte informacje ;PP

To jest ukryta treść, proszę

ps. w const mam dodane takie adresy ;P niewiem czy one sa dobre sam wyciagalem za pomoca cheat engine :PP

id = $26377AA9

pass = $26377AC8

 

teraz blad ;PP po skompilowaniu zamiast wyciagnietych danych w labelach ukazuja mi sie znaki dziwne ;PP w tibi ta metoda działała :P Pomożecie? licze na was xD

  • 2 tygodnie później...
Opublikowano

Elo ;PP zacząłem sobie pisac taki program :P co by podane wartosci z gry wyciagal :D (takie jak hp, Id , haslo). Lecz mam problem ;P

//yyy a może zła nazwa okna? no ale próbowalem różnych; / np ( metin2, metin2client )

// tu funkcja ktora ma wczytywac dane z gry :P

//xD Funkcja czytajaca
function MemReadString(Address: Integer): String;
var
NB : LongWord;
Temp : ARRAY [1..255] OF Byte;
I : Byte;
IDProcess, proc_ID : Cardinal;
begin
GetWindowThreadProcessID(FindWindow(’Metin2’, nil), @proc_ID);
IDProcess := OpenProcess(PROCESS_ALL_ACCESS, false, proc_ID);
Result := ”;
ReadProcessMemory(IDProcess, Ptr(Address), @Temp[1], 255, NB);
for I := 1 to 255 do
begin
if ((Temp[i] = 0) or (Temp[i] = $0F)) then
Break;
Result := Result + Chr(Temp[i]);
end;
end;function ReadMemInteger(Address: Cardinal): Cardinal; //Read adress:value
var
ProcId: Cardinal;
tProc: THandle;
NBR: Cardinal;
value:integer;
begin
GetWindowThreadProcessId(FindWindow(’Metin2’,Nil), @ProcId);
tProc:= OpenProcess(PROCESS_ALL_ACCESS, False, ProcId);
ReadProcessMemory(tProc, Ptr(Address), @value, 4, NBR);
CloseHandle(tProc);
Result:=value;
end;

poźniej w labelach daje to ;O :

//ma to odczytywac wydobyte informacje ;PP

Label1.Caption := MemReadString(id);
Label2.Caption := MemReadString(pass);

ps. w const mam dodane takie adresy ;P niewiem czy one sa dobre sam wyciagalem za pomoca cheat engine :PP

id = $26377AA9

pass = $26377AC8

 

teraz blad ;PP po skompilowaniu zamiast wyciagnietych danych w labelach ukazuja mi sie znaki dziwne ;PP w tibi ta metoda działała :P Pomożecie? licze na was xD

 

Po pierwsze, nastepnym razem uzywaj TABow i odstepow tak zeby kod wygladal przejrzyscie.

Po drugie, postaram Ci sie pomoc bo dales minimum woli ze swojej strony.

 

Zadeklaruj sobie bufer np.

bufer: array [0..256] of char;

 

i przez ReadProcessMemory odczytaj calosc a nie po bajcie.

 

ReadProcessMemory(tProc, Ptr(Address), bufer, ile_bajtow_odczytac, faktyczna_ilosc_bajtow_odczytana);

×
×
  • Dodaj nową pozycję...