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

[tut] Własny Wallhack, Poziom Trudności: Wysoki.


Seldek

Rekomendowane odpowiedzi

Opublikowano

Na początek omówię zasadę działania prostego wallhacka do gier FPP (i nie tylko) wink.gif

 

1. Program szuka procesu gry o wcześniej ustalonej nazwie (dla CS będzie to przykładowo cstrike.exe).

2. Po odnalezieniu danego procesu, program "wstrzykuje" swoją bibliotekę .DLL do niego. Działa to na zasadzie otwarcia danego procesu i utworzenia w nim wątku (thread), który zostanie automatycznie wykonany.

3. Dla wallhacka ów wątek będzie podmieniał oryginalne funkcje biblioteki graficznej (w przypadku CSa jest to OpenGL) na swoje własne funkcje.

 

"Wstrzykiwanie" kodu do innego procesu to dość złożony proces, dlatego dołączam gotowe biblioteki, które to zadanie wykonują. Zostaje tylko napisanie odpowiednich hooków na OpenGL wink.gif

 

Przykładowo zmodyfikowana funkcja OpenGL:

 

procedure glBeginCallback(mode: DWord); stdcall; // Zmodyfikowana funkcja OpenGL
begin
 if HackOn then
 begin
if (mode = 5) or (mode = 6) then // Wykonaj tylko wtedy gdy są rysowanie postacie/obiekty na mapie
begin
  glDisable(GL_DEPTH_TEST); // Wyłącz Z-Buffer tak aby "widzieć" przez ściany
  glBindTexture(GL_TEXTURE_2D, 0); // Wyłącz teksture
end else
  glEnable(GL_DEPTH_TEST); // Włącz Z-Buffer
 end;
 glBeginNew(mode); // Wykonaj oryginalną funkcję OpenGL
end;

 

 

Aby włączyć/wyłączyć wallhacka w dowolnym momencie gry:

 

function KeyMonitoring(p: pointer): integer; // funkcja wątku od sprawdzania wciśniętych klawiszy
begin
 while true do // pętla w nieskończoność;)
 begin
HackOn := Boolean(GetKeyState(VK_END) and 1); // Przestaw flagę HackOn jeżeli zostanie wciśnięty klawisz END
Sleep(100); // odczekaj 100 milisekund
 end;
 result := 0;
end;

 

A oto końcowy efekt:

Obrazek

 

Dołączam pełny kod źródłowy wraz z wszystkimi bibliotekami. Oraz skompilowane już pliki .exe i .dll. Kod napisany w Delphi 7.

 

Jeżeli po włączeniu gry (counter strike) nie widać menu wciśnij END aby wyłączyć WH, a następnie po wybraniu serwera ponownie END aby go włączyć wink.gif

 

Wallhack

 

 

 

Tutek napisany przeze mnie. Biblioteki do "wstrzykiwania" kodu pochodzą z pakietu uallCollection.

 

Pozdrawiam :)

  • 2 tygodnie później...
  • 2 tygodnie później...
  • 1 miesiąc temu...
  • 2 miesiące temu...
Opublikowano

Sorki, ze odswiezam temat ale link do bibliotek wygasl a bardzo mi na nim zalezalo, jezeli ktos pobral i ma na kompie niech wrzuci na jakis serwer. Z gory dzieki !

PolandMS

 

[X]Login Serwer - 100%

[X]World Serwer - 100%

[..]Dropy z potworkow - 48%

[..]Sklepy - 13%

[X]Warp NPC - 100%

PolandMS - Postacie

Job: SuperGM

Level: 255

Nick: [GM]Swirek

  • 1 miesiąc temu...
Opublikowano

Dołączam się do prośby

qrst2113901149h.png

wqdz690429546a.GIFPiszę poprawnie po polsku.

 

 

89% graczy uważa że najważniejsza jest grafika jeśli należysz do tych 11% wklej to do podpisu.

  • 2 tygodnie później...
  • 2 tygodnie później...
Opublikowano
Nie no ten PB jest tak dobry że aż ...

dziwisz się że jest taki dobry, jak co chwile pojawia sie coraz więcej cheaterów to udoskonalają go, kiedyś to nawet cheatów z cheat engine nie wykrywał a tera to uuu

chcesz kopiować moje tut'ki ? kopiuj przecież ci nie zabronię

  • 8 miesięcy temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...