Premessa: al momento questo codice per la stamina non funziona per quanto ne so, la guida risale a qualche tempo fa. Prossimamente la editerò per mettere altre hack al momento funzionanti. Rimane comunque valida tutta l'impostazione generale.
Ciao a tutti i coders!
visto che tempo fa avevo creato una guida passo passo su come creare hacks nomenu mooolto base e poi tempo dopo ho creato un source stamina e slot5 ma senza la guida passo passo, oggi ho deciso di aggiornare il tutto creando questo topic che li riunisce insieme, spero a qualcuno torni utile
Io utilizzo Visual C++ 2008, la versione Express Edition è free dal sito Microzozz, e lo consiglio anche a voi, potete usare anche un altro editor (tipo DevC++), però chiaramente le istruzioni passo-passo riportate sotto valgono solo per Visual C++ della MZ
C++ Programming
Codice:
// Nomenu base for warrock
// by Digger 2010-04-02
#include <windows.h>
// addresses aggiornati al 2010-04-02
#define ADR_PLAYERPTR 0xC3F068 // questo va controllato e aggiornato
#define ADR_SERVERPTR 0xB3E548 // questo va controllato aggiornato
#define OFF_STAMINA 0x30 // questo va controllato aggiornato
#define OFF_SLOT5 0xD127C // questo va controllato aggiornato
// variabili
DWORD *in_game= (DWORD*)ADR_PLAYERPTR;
DWORD *out_game= (DWORD*)ADR_SERVERPTR;
DWORD dwPlayerPtr=0;
DWORD dwServerPtr=0;
//------------------------------------------------------------------------
// questa è la nostra hack per la stamina Full
void Stamina_digger()
{
dwPlayerPtr = *in_game;
if(dwPlayerPtr != 0)
{
*(float*)(dwPlayerPtr+OFF_STAMINA) = 100.0;
}
}
//------------------------------------------------------------------------
// questa è la nostra hack per il 5° slot
void Slot5_digger()
{
dwServerPtr = *out_game;
if(dwServerPtr != 0)
{
*(long*)(dwServerPtr+OFF_SLOT5) = 1;
}
}
//------------------------------------------------------------------------
// questo è il thread che gira continuamente che chiama la hack
void HackThread()
{
while(true)
{
if (*in_game)
{
Stamina_digger(); // chiamiamo la hack della stamina
}
if(*out_game)
{
Slot5_digger(); // chiamiamo la hack del 5° slot
}
Sleep(50); // fermi per 50ms per non caricare la cpu
}
}
//------------------------------------------------------------------------
// funzione principale della DLL
BOOL WINAPI DllMain(HINSTANCE hModule, DWORD dwReason, LPVOID lpReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
// siamo qui perché la dll è appena stata iniettata
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)HackThread, 0, 0, 0); // creiamo il thread principale
}
return TRUE;
}
Come si compila?
semplice:
1. aprite Visual Studio 2008 (o anche 2005)
2. menu File->new-> project...
3. a sinistra selezionate Visual C++ Win32
4. a destra selezionate Win32 Console Application
5. in basso, campo name, mettete il nome della hack, quello che volete, es. MyHack
6. sotto, campo location, la cartella in cui viene creato il progetto e dove poi troverete la dll, es. c:\sviluppo\vc\ (non flaggate create solution)
7. premete OK
8. Next
9. selezionate "DLL" e sotto flaggate "Empty Project" e non toccate altro
10. FINISH
11. se non vedete la finestra "solution explorer" visualizzatela con CTRL-ALT-L oppure menu View->Solution Explorer
12. in solution explorer avete MyHack, sotto 3 cartelle, Header files, Resource Files, Source Files.
13. tasto destro su cartella Source files, Add->New Item...
13. nella finestra che vi esce, in alto a destra selezionate "C++ File (.cpp)"
14. cancellate il contenuto del campo in basso "Name" e metteteci il nome del file che state creando, diciamo che ci mettiamo "main.cpp"
15. cliccate "Add"
16. ora avete aperto il file appena creato main.cpp e lo potete editare
17. bene, fate copia incolla del codice che ho scritto sopra
18. fate un salva non si sa mai (dischetto in alto a sinistra sulla barra)
19. ora tornate alla finestrella di Solution Explorer del punto 12
20. tasto destro sulla seconda scritta dall'alto, ovvero il nome del progetto, MyHack
21. "properties" editiamo le proprietà della soluzione
22. a sinistra apriamo "Configuration properties" andiamo su "general"
23. cambiamo la penultima opzione a destra "Character set" da Use unicode a "Use Multi-Byte Character Set"
24. OK
25. salviamo il tutto
26. menu "Build" -> "build solution" se tutto va bene in basso esce una cosa tipo:
...
1>MyHack - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
che vuol dire che siete riusciti nell'intento!
Ora non vi resta che andare a prendere la dll.
Se avete fatto come ho scritto, la trovate in c:\sviluppo\MyHack\Debug\MyHack.dll
Sta in "debug" perché non vi ho fatto cambiare il tipo di build, l'altro tipo, per la distribuzione è "Release", divertitevi a vedere come si fa
Ora con la dll potete fare quello che volete, per farla veloce fate cosi, lasciatela li e nella stessa cartella copiateci l'.exe di un injector CHE SAPETE CHE FUNZIONA (io uso sempre il mio che mi da grandi soddisfazioni ) dopo di che rinominate l'.exe in MyHack.exe
Ora siete in questa situazione:
c:\sviluppo\MyHack\Debug\
MyHack.dll
MyHack.exe
Bene, doppio click su MyHack.exe, runnate warrock, controllate se l'injector ce l'ha fatta, godetevi il 5° slot + Stamina
Io ho fatto tutto come se fossi uno di voi che ci sta provando e si è compilata bene e funziona pure.
Attenzione ad un po' di cose:
1. vedi 2
2. nelle 3 righe in alto, quelle con i #define, attenzione che ci sono gli indirizzi che potrebbero cambiare ad ogni aggiornamento (non sempre lo fanno però)
3. okkio all'injector che usate, già detto
4. come al solito fatto tutto su XP e 32bit quindi non garantisco niente per Vista o W7, il solito vecchio discorso, al limite provate un po voi a vedere , magari ci dite voi cosa si deve fare per farli andare su Vista64
dimenticato niente? boh, non mi pare
in bocca al lupo
digger