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] Jak Napisać Hacka


kruk223

Rekomendowane odpowiedzi

Opublikowano

Witam. Temat jak napisać hacka do warrocka trochę się zagubił więc postanowiłem go odnowć, kropka w kropke.

 

Zaczynamy !

 

Aby zrobic cokolwiek w c++, bedzie potrzebne nam srodowisko na ktorym to mozemy zrobic. W tym przypadku sciagamy Visual C++ 2008 Express Edition.

 

Link do tego programu ->

To jest ukryta treść, proszę

VS:

To jest ukryta treść, proszę

a tu oryginalną

To jest ukryta treść, proszę

Wchodzimy na ta strone, klikamy download, sciagamy i instalujemy.

 

Kiedy juz mamy zainstalowane VC, mozemy zaczac pisac cheata. Otwieramy program, w lewym gornym rogu klikamy file, nastepnie, new i project.

 

ss1x.png

 

Nastepnie zaznaczamy Win32 jak na obrazku (1), potem zaznaczamy Win32 Project (2), i na dole wpisujemy nazwe naszego cheata (3).

 

ss2.png

 

 

 

Klikamy OK, wyskakuje nam nowe okienko, klikamy NEXT, wyskakuje drugie okienko, opcje na nim zaznaczamy jak na obrazku :

 

mpcss1.PNG

 

 

Klikamy FINISH, znikaja nam wszystkie okienka. Teraz dodajemy plik w ktorym bedzie znajdowal sie nasz kod.

W prawym gornym rogu znajduja sie 3 male foldery, "Header Files", "Source Files" i "Resource Files". Nas interesuje tylko "Soure Files".

Klikamy prawym przyciskiem myszy na "Source Files ", wybieramy ADD, a nastepnie ADD NEW ITEM.

 

 

 

ss4.png

 

Wyskakuje nowe okno, zaznaczamy typ pliku, jest to c++ File(1), a nastepnie wpisujemy jego nazwe(2).

 

 

mpcss2.PNG

 

Klikamy OK i przenosi nas do tego pliku. Teraz zaczynamy pisac cheata metoda copy/paste :D.

 

Do naszego zrodla musimy wlaczyc pewne pliki, jest to WINDOWS.H.

Do naszego pliku wklejamy : #include <windows.h>

 

OK, mamy juz pierwsza linijke kodu. Teraz przychodzi czas na zadeklarowanie adresow. (Adresy sa wskaznikami dla kodu gdzie znajduje sie "opcja" cheata w pamieci.)

 

Adresy deklarujemy w ten sposob:

#define NAZWA_OPCJI ADRES Ważne sa tu spacje, kazdy wyraz musi byc oddzielony spacja.

To sa aktualne adresy :

 

Niestety, ale adresy poszczególnych opcji często się zmieniają, dlatego sami musicie znależć aktualne adresy. ( nie jest trudno, zazwyczaj ktoś napisze je na forum )

 

Wklejamy je.

OK, adresy mamy juz zadeklarowane. Zrobimy teraz funkcje staminy ( Wiecej funkcji na dole )

Uzyjemy typu VOID, ktory nie zwraca wartosci, bo nam taka nie jest potrzebna.

 

Schemat Funkcji :

 

void NAZWA_OPCJI ()

{

 

// TUTAJ JEST CIALO OPCJI

}

Caly kod wpisujemy miedzy klamry, dla staminy wyglada to tak :

 

void STAMINA ()

{

DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERBASE; // Tutaj jest adres Player pointera

if(dwPlayerPtr != 0)

{

 

*(float*)(dwPlayerPtr+Stamina) = 100; // "Stamina" to Offset Staminy

 

}

}

 

Wklejamy to do naszego kodu.

Mamy adresy, mamy funkcje opcji, teraz nadszedl czas na cos w rodzaju timera z VB. Jest to funkcja, ktora ciagle robi instrukcje ( np napelnia ciagle stamine). Gdyby nie bylo tej funkcji, stamina dla przykladu napelnila by sie raz i pozniej juz by tego nie robila, a wiec jest to wymagane.

Robimy po prostu prosta petle :

void TIMER_HACKOW ()

{

 

for(;;) // TO jest nasz timer

{

 

 

// TUTAJ DODAJEMY NAZWY OPCJI

 

STAMINA();

 

Sleep(30); // UWAGA, WAZNE : W ten sposob redukujemy lagi naszego hacka, przy kazdym powtorzeniu opcji, program odczeka 30 milisekund

}

 

}

Wklejamy to do naszego kodu

Tam, gdzie pisze "// TUTAJ DODAJEMY NAZWY OPCJI ", dodajemy nazwy nasz opcji ( pomiedzy klamry) , i dodatkowo dodajemy jescze " ; ".

Czyli np. dla super jumpa i staminy bedzie wygladalo to tak :

void TIMER_HACKOW ()

 

{

 

for(;;) // TO jest nasz timer

{

 

 

 

STAMINA ();

 

SUPER_JUMP ();

Sleep(30);

}

}

 

Mamy juz adresy, funkcje opcji i timer, ostatnia rzecza bedzie zalozenie watku," ozywiamy" w ten sposob nasz cheat.

Wyglada to nastepujaco :

BOOL WINAPI DllMain(HINSTANCE module, DWORD dwReason, LPVOID lpvReserved)

{

if(dwReason == DLL_PROCESS_ATTACH)

{

CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)TIMER_HACKOW, NULL, NULL, NULL);

 

 

}

return true;

}

Wklejamy to do naszego kodu

 

CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)TIMER_HACKOW, NULL, NULL, NULL); - to wlasnie uaktywnia naszego cheata w programie.

 

Zeby bylo wiadomo, kto jest autorem cheata, mozna zrobic wiadomosc przy wstrzykiwaniu cheata do warrocka, robimy to w ten spobob.

Pod linijka

if(dwReason == DLL_PROCESS_ATTACH)

{

 

Wklejamy

 

MessageBoxA(NULL, "TRESC WIADOMOSCI POMIEDZY CUDZYSLOWAMI ", "NAGLOWEK WIADOMOSCI", MB_OK);

Teraz przy kazdym wlaczeniu cheata, bedzie wiadomo, kto jest jego tworca.

Teraz czas na reszte funkcji, ktore obiecalem napisac :

 

NO WATER

void NO_WATER()

{

long t=0;

unsigned long Protection;

VirtualProtect((void*)ADR_NOWATER, sizeof(t), PAGE_READWRITE, &Protection);

memcpy((void*)ADR_NOWATER, &t , sizeof(t));

VirtualProtect((void*)ADR_NOWATER, sizeof(t), Protection, 0);

}

SUPER JUMP ( ustawiony na 500 metrow)

 

void SUPER_JUMP ()

{

if(GetAsyncKeyState(VK_CONTROL)&1)

{

 

DWORD dwPlayerPtr = *(DWORD*)Playerpointer;

if(dwPlayerPtr != 0)

{

*(float*)(dwPlayerPtr+Z) = 500;

 

}

}

}

 

NO FALL DAMAGE

void NFD ()

{

DWORD dwPlayerPtr = *(DWORD*)Playerpointer;

if(dwPlayerPtr != 0)

{

*(float*)(dwPlayerPtr+NFD) = -2000;

}

}

 

NO RECOIL

void NO_RECOIL ()

{

DWORD dwPlayerPtr = *(DWORD*)Playerpointer;

if(dwPlayerPtr != 0)

{

*(float*)(dwPlayerPtr+norec1) = 0;

*(float*)(dwPlayerPtr+norec2) = 0;

*(float*)(dwPlayerPtr+norec3) = 0;

}

}

 

NO SPREAD

void NO_SPREAD ()

{

long t=0;

unsigned long Protection;

VirtualProtect((void*)NOSPREAD, sizeof(t), PAGE_READWRITE, &Protection);

memcpy((void*)NOSPREAD, &t , sizeof(t));

VirtualProtect((void*)NOSPREAD, sizeof(t), Protection, 0);

}

 

FAST AMMO/FLAGS/REPAIR/HEALTH

void FAST_ALL ()

{

*(int*) fastall_Addie1 = 1092779973;

*(int*) fastall_Addie2 = 1092779973;

*(int*) fastall_Addie3 = 1092779973;

*(int*) fastall_Addie4 = 1092779973;

}

 

NO BOUNDS

void NO_BOUNDS ()

{

long t=0;

unsigned long Protection;

VirtualProtect((void*)bounds_Addie1, sizeof(t), PAGE_READWRITE, &Protection);

memcpy((void*)bounds_Addie1, &t , sizeof(t));

VirtualProtect((void*)bounds_Addie1, sizeof(t), Protection, 0);

{

VirtualProtect((void*)bounds_Addie2, sizeof(t), PAGE_READWRITE, &Protection);

memcpy((void*)bounds_Addie2, &t , sizeof(t));

VirtualProtect((void*)bounds_Addie2, sizeof(t), Protection, 0);

}

}

NO FOG (niesprawdzone)

void nofog()

(

* (float *) OFS_Nofog = 0;

)

 

PREMIUM

void PREMIUM ()

{

DWORD dwPlayerPtr = *(DWORD*)Serverpointer;

if(dwPlayerPtr != 0)

{

*(long*)(dwPlayerPtr+Premium) = 3, 10; // 1 = bronze 2 = silver 3 = gold

}

}

 

ANTY KICK

void ANTY_KICK ()

{

DWORD dwPlayerPtr = *(DWORD*)Serverpointer;

if(dwPlayerPtr != 0)

{

*(float*)(dwPlayerPtr+OFS_GM) = 5;

 

}

}

FULL BRIGHT

void FULL_BRIGHT ()

{

long t=1092779973;

unsigned long Protection;

VirtualProtect((void*)ADR_BRIGHT1, sizeof(t), PAGE_READWRITE, &Protection);

memcpy((void*)ADR_BRIGHT1, &t , sizeof(t));

VirtualProtect((void*)ADR_BRIGHT1, sizeof(t), Protection, 0);

 

VirtualProtect((void*)ADR_BRIGHT2, sizeof(t), PAGE_READWRITE, &Protection);

memcpy((void*)ADR_BRIGHT2, &t , sizeof(t));

VirtualProtect((void*)ADR_BRIGHT2, sizeof(t), Protection, 0);

 

VirtualProtect((void*)ADR_BRIGHT3, sizeof(t), PAGE_READWRITE, &Protection);

memcpy((void*)ADR_BRIGHT3, &t , sizeof(t));

VirtualProtect((void*)ADR_BRIGHT3, sizeof(t), Protection, 0);

}

 

SPEED HACK (X2)

Uwaga, w tym przypadku posluzymy sie dwoma funkcjami, ta pierwsza wklej pod adresami

pierwsza funkcja:

void UnProtectFloat( void* pxAddress, float code)

{

unsigned long Protection;

VirtualProtect((void*)pxAddress, sizeof(code), PAGE_READWRITE, &Protection);

memcpy((void*)pxAddress, &code, sizeof(code));

VirtualProtect((void*)pxAddress,sizeof(code), Protection, 0);

}

Teraz ta glowna :

void SPEED_HACK ()

{

UnProtectFloat((void*)ADR_SPEED,200); // predkosc x2

}

Do tej funkcji mozna dopisac hotkeya, aby wygodniej sie uzywalo.

 

 

UNLOCK ALL SLOTS

void SLOTS ()

{

 

DWORD dwServerPointer = *(DWORD*)Serverpointer;

if(dwServerPointer != 0) {

 

*(long*)(dwServerPointer + OFS_UNLOCK5SLOT) = 1;

*(long*)(dwServerPointer + OFS_UNLOCK6SLOT) = 1;

*(long*)(dwServerPointer + OFS_UNLOCK7SLOT) = 1;

*(long*)(dwServerPointer + OFS_UNLOCK8SLOT) = 1;

}

 

}

 

NULL GRAVITY

void NULL_GRAVITY ()

{

DWORD dwPlayerPtr = *(DWORD*)Playerpointer;

if(dwPlayerPtr != 0)

{

*(float*)(dwPlayerPtr+OFS_GRAVITY) = 0;

}

}

Do tej opcji proponuje zrobic hotkeya.

 

 

 

 

 

 

 

 

 

 

No i w ten sposob doszlismy do samego konca :P.

Aby zbudowac naszego cheata, klikamy na zaklade BUILD, nastepnie BATCH BUILD, pokazuje nam sie okienko, zaznaczamy "ptaszka" przy release i klikamy build.

Teraz wchodzimy do naszego folderu z cheatem, u mnie jest to " c:\Documents and Settings\Michał\Moje dokumenty\Visual Studio 2008\Projects\MPC WARROCK CHEAT\MPC WARROCK CHEAT\Release" , u was powinno byc podobnie. Bierzemy z tego folderu plik o nazwie MPC WARROCK CHEAT.dll, lub inna nazwa, zalezy jak nazwalismy projekt.

Mamy juz dll, do pelnego szczescia brakuje nam tylko injectora.

Mozemy go sciagnac stad : http://www.mediafire...php?wgyyzt2iqti

Uwaga, wazne : nazwa injectora musi byc taka sama, jak dll'ki, inaczej cheat nie ruszy.

Do uzycia injectora potrzebny jest Net Framework 3.5, mozemy pobrac go stad : http://www.microsoft...&displaylang=en

 

 

Jesli zauwazycie jakies bledy - pisac.

 

 

 

Tak, to juz chyba koniec ;).

 

 

 

EDIT

Na prosbe umieszczam caly kod zrodlowy dla staminy...

 

#include <windows.h>

 

//============================= GLOBALS ===============================//

#define ADR_PLAYERPTR 0xC93348

#define ADR_SERVERPTR 0xB1BEF8

#define ADR_FULLBRIGHT1 0xADBA0C

#define ADR_FULLBRIGHT2 0xADBA10

#define ADR_FULLBRIGHT3 0xADBA14

#define ADR_FAST_AMMO 0xAD81D0

#define ADR_FAST_HEALTH 0xAD81D4

#define ADR_FAST_REPAIR 0xAD81D8

#define ADR_FAST_FLAG 0xAD81DC

#define OFS_STAMINA 0x00000

//============================= FUNCTIONS =============================//

 

void Stamina ( )

{

 

DWORD dwPlayerPtr = *(DWORD*)ADR_PLAYERPTR; // Tutaj jest adres Player pointera

if(dwPlayerPtr != 0)

{

 

*(float*)(dwPlayerPtr+OFS_STAMINA) = 100; // "Stamina" to Offset Staminy

 

}

}

 

void timer ( )

{

for (;;)

{

 

Stamina ( );

 

}

}

 

//============================= BASE ===================================//

 

BOOL WINAPI DllMain(HINSTANCE module, DWORD dwReason, LPVOID lpvReserved)

{

if(dwReason == DLL_PROCESS_ATTACH)

{

CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)timer, NULL, NULL, NULL);

 

 

}

return true;

}

 

 

I chciałbym dodac od siebie kody na invisivble opk i inne oto one :

To jest ukryta treść, proszę

 

To jest ukryta treść, proszę

 

 

Mam nadzieje że autor się nie obrazi.

Nie licze na + ani na - chce tylko pomóc użytkownikom forum. (wszystkie podziękowania kierować do użytkownika

N1ghtmare)

Opublikowano

UWAGA

 

Nowe ADDYS nie spatchowane :

#define ADR_PLAYERPOINTER

#define ADR_SERVEPOINTER

#define ADR_NOSPREAD

#define ADR_HEADSHOT

#define ADR_0DELAY

#define ADR_ANTIKICK

#define ADR_INVISIBLE

#define ADR_PRONE

#define ADR_AUTOMEDIC

#define ADR_WALKTROUGHWALLS

#define ADR_NOVEHICELDAMAGE

#define ADR_SPEED

#define OFS_NFD

#define OFS_Premium

#define OFS_X

#define OFS_Y

#define OFS_Z

#define OFS_5thSlot

#define OFS_6thSlot

#define OFS_7thSlot

#define OFS_8thSlot

#define ADR_OPK1

#define ADR_OPK2

#define ADR_OPK3

#define STAMINA

#define DINAR

#define NOSPAWNWAIT1

#define NOSPAWNWAIT2

#define SPUP10

#define SCOPE2X

#define EXTRAAMMO

#define BANAGES

----------------------------------

*[HS]*

#define ADR_ANTIBAN

*[POINTER]*

#define ADR_PLAYERPOINTER

#define ADR_SERVERPOINTER

#define ADR_WEAPBASE

#define ADR_BASEPOINTER

#define ADR_DEVICEPOINTER

#define ADR_HEALTHPOINTER

*[PUBLIC]*

#define ADR_FASTAMMO

#define ADR_FASTHEALT

#define ADR_FASTREPAIR

#define ADR_FASTFLAG

#define ADR_NOSPREAD

#define ADR_NOWATER

#define ADR_NOFOG

#define ADR_FEARFOG

#define ADR_NOOXIGEN

#define ADR_NOUBOUNDS1

#define ADR_NOUBOUNDS2

#define ADR_SPEED

#define ADR_SPEED_ROLL

#define ADR_SCOPE

#define ADR_SPAWN1

#define ADR_SPAWN2

#define ADR_GLASSWALS

#define ADR_STAM10

#define ADR_STAM5

#define ADR_SNIPER2X

#define ADR_BANDAGE

#define ADR_EXTRAAMMO1

#define ADR_EXTRAAMMO2

#define ADR_FULLBRIGHT1

#define ADR_FULLBRIGHT2

#define ADR_FULLBRIGHT3

*[D3D]*

#define ADR_D3DIPADDR

#define ADR_D3DNAME

#define ADR_D3MAP

#define ADR_GMWARN

#define ADR_ESPNAME

#define ADR_ESPHEALTH

#define ADR_D3D_ESPNAME

#define ADR_D3D_ESPHEALTH

*[VIP]*

#define ADR_ANTIAFK

#define ADR_TRIGGERBOT

#define ADR_PRONECQC

#define ADR_VIEWANGLES

#define ADR_NODELAY

#define ADR_ANTIKICK

#define ADR_FAKEKICK

#define ADR_AUTOMEDIC

#define ADR_AUTOAMMO

#define ADR_AUTOREPAIR

#define ADR_ESCALATOR1

#define ADR_ESCALATOR2

#define ADR_WTW

#define ADR_STW

#define ADR_UNLAMMO1

#define ADR_UNLAMMO2

#define ADR_UNLAMMO3

#define ADR_UNLAMMOPLAYER

#define ADR_INVISIBLE

#define ADR_HEADSHOT1

#define ADR_HEADSHOT2

#define ADR_FASTAS

#define ADR_SUPERFIRE

#define ADR_QUICKPLANT

#define ADR_QUICKDEFUSE

#define ADR_SVP

#define ADR_OPK1

#define ADR_OPK2

#define ADR_OPK3

#define ADR_BULLETS

#define ADR_PREMCROSSASM

#define ADR_CROSSASM

#define ADR_PREMCROSS

#define ADR_ANTIMINE

#define ADR_MINEWIEW1

#define ADR_MINEWIEW2

*[VEICHLE]*

#define ADR_VEICHAUTOREPAIR

#define ADR_VEHICLENODAMNAGE

#define ADR_VEHICLEINVIS

#define ADR_SUPERCAR

#define ADR_VEH_JUMP_LOW

#define ADR_VEH_JUMP1

#define ADR_VEH_JUMP2

#define ADR_VEH_JUMP3

#define ADR_VEH_AUTOAMMO

*[RESTRICTIONS]*

#define ADR_ROM_NORESTRICTION

#define ADR_NORESTRICTION

#define ADR_VEH_NORESTRICTION

*[OFFSET]*

#define OFS_X

#define OFS_y

#define OFS_Z

#define OFS_NFD

#define OFS_STAMINA

#define OFS_5SLOTH

#define OFS_ROOMMASTER

#define OFS_SUPERMASTER

#define OFS_LEVEL

#define OFS_DINAR

#define OFS_PREMIUM

#define OFS_PREMIUM2

#define OFS_RECOIL1

#define OFS_RECOIL2

#define OFS_RECOIL3

#define OFS_WEAPON

#define OFS_GM

#define OFS_PLAYERSIZE

*[bYPASSEXE]*

#define Back

#define JMP

Opublikowano

up warn za double posty.

Wcale ciężko to nie jest znaleźć. Ten temat jest przypięty w dziale programowanie cheatów więc nie ma problemu ze znalezieniem tego.

Za takie coś powinieneś dostać 10%.

Closed.

1374132184-U48159.png

Sygna by Cristiano

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...