Und noch ein Tutorial von mir, erstmal das letzte.
Chams in DirectX 9 Spielen, über 17 Seiten anschaulich in CS:S demonstriert.
Zusammen entwickeln wir einen Logger und den Chamshack selber.
Vollständige sources liegen bei.
Man sollte vorher mein HookingTutorial (auch hier im forum: ) gelesen und verstanden haben.
Silverdeath aus OSH IST Dr. Coxxy aus Elitepvpers. Das kannst du gerne verifizieren, aber ich denke, dass er es schon irgendwann mal erwähnt hat.
MfG
Jeoni
Silverdeath aus OSH IST Dr. Coxxy aus Elitepvpers. Das kannst du gerne verifizieren, aber ich denke, dass er es schon irgendwann mal erwähnt hat.
MfG
Jeoni
Und das weißt du woher, das es Silverdeath ist?
Ich mein, behaupten kann ja jeder das er Silverdeath wär^^
Sollte er es wirklich sein okay, aber ich bezweifle es.
Und das weißt du woher, das es Silverdeath ist?
Ich mein, behaupten kann ja jeder das er Silverdeath wär^^
Sollte er es wirklich sein okay, aber ich bezweifle es.
vergleich mal die sig und das avatar bild mit dem aus osh bob.
vergleich mal die sig und das avatar bild mit dem aus osh bob.
Das hast du doch mit Absicht gemacht, damit das nicht so auffällt!!11!
Nettes Tutorial, vielen Dank.
Eine Frage hätte ich noch zu den DX-Hooks: Das sind ja alles Member-Funktionen der IDirect3DDevice9-Schnittstelle und dementsprechend werden die via thiscall aufgerufen (korrekt? this-Zeiger in ecx, ja?).
Wie übersetzt der Compiler den stdcall mit dem Parameter? Eignet sich da nicht eher ein fastcall, der ja auch Parameter in den Registern speichert? Ich hab mich noch nie großartig mit Calling Conventions beschäftigt, kann also sein, dass ich hier gerade mächtig falsch liege, aber die Technik wie man Member-Funktionen hookt, interessiert mich.
Das mit dem thiscall könnte man zwar denken, ist aber leider nicht so
Die VT-Funktionen der IDirect3DDevice9-Schnittstelle sind stdcalls, die als ersten Paramter den Device- bzw this-pointer (das, was beim thiscall ecx wäre) haben.
Also EndScene hat dementsprechend dann diesen Prototyp:
Das hast du doch mit Absicht gemacht, damit das nicht so auffällt!!11!
Nettes Tutorial, vielen Dank.
Eine Frage hätte ich noch zu den DX-Hooks: Das sind ja alles Member-Funktionen der IDirect3DDevice9-Schnittstelle und dementsprechend werden die via thiscall aufgerufen (korrekt? this-Zeiger in ecx, ja?).
Wie übersetzt der Compiler den stdcall mit dem Parameter? Eignet sich da nicht eher ein fastcall, der ja auch Parameter in den Registern speichert? Ich hab mich noch nie großartig mit Calling Conventions beschäftigt, kann also sein, dass ich hier gerade mächtig falsch liege, aber die Technik wie man Member-Funktionen hookt, interessiert mich.
winapi ist afaik komplett stdcall um kompatibilität mit C zu wahren (und war halt damals normal...).
Wie mache ich das denn, wenn ich einen Prototypen für eine Member-Funktion, die wirklich ein thiscall ist, erstellen will? Ich habe gerade mal die Calling Conventions angeschaut. Der this-Zeiger landet ja im ecx-Register, aber einen thiscall Prototypen kann man nicht einfach so erstellen, korrekt?
Ein fastcall hat die ersten 2 Argumente im ecx & edx Register, richtig? Das würde doch heißen, dass ich einen Memberfunktion-Prototypen so aufbauen kann:
int (__fastcall *Hook)(void *thisptr, void *spam, int arg0, int arg1 /* Parameter der Funktion */);
Korrekt oder liege ich komplett daneben?
Wie mache ich das denn, wenn ich einen Prototypen für eine Member-Funktion, die wirklich ein thiscall ist, erstellen will? Ich habe gerade mal die Calling Conventions angeschaut. Der this-Zeiger landet ja im ecx-Register, aber einen thiscall Prototypen kann man nicht einfach so erstellen, korrekt?
Ein fastcall hat die ersten 2 Argumente im ecx & edx Register, richtig? Das würde doch heißen, dass ich einen Memberfunktion-Prototypen so aufbauen kann:
int (__fastcall *Hook)(void *thisptr, void *spam, int arg0, int arg1 /* Parameter der Funktion */);
Korrekt oder liege ich komplett daneben?
Das mit dem thiscall könnte man zwar denken, ist aber leider nicht so
Die VT-Funktionen der IDirect3DDevice9-Schnittstelle sind stdcalls, die als ersten Paramter den Device- bzw this-pointer (das, was beim thiscall ecx wäre) haben.
Also EndScene hat dementsprechend dann diesen Prototyp:
Tut mir Leid, aber da muss ich wiedersprechen
Bei den Funktionen eines IDirect3DDevice9-Objekts ist das zumindest nicht so (EndScene gehört ja dazu). Diese Funktionen sind nicht thiscall, hier wird der deviceptr (thisptr?), der bei thiscall-Funktionen im ECX-Register liegt, als 1. Argument übergeben über den Stack übergeben (stdcall). In ECX steht nicht der Deviceptr (das impliziert deine Aussage ja, oder?).
Hier ein Bild dazu (mein Schulprojekt in Olly):
Die aktuelle Position ("call edx") ist der Call zu EndScene. Der Push davor pusht den deviceptr (wie man sehen kann hier 0x02665060). In ECX befindet sich währenddessen ein anderer Wert (0x02667DFC), welcher einen Pointer zur D3D9-VTable darstellt. Bei Hooks o.Ä. anzunehmen, dass der deviceptr in ecx ist, würde also vermutlich zum Crash führen.
Das ganze gilt nur für D3D9 unter 32Bit (von 'dort' stammt auch der Screenshot). Wie es mit D3D10/11 und / oder auf 64 Bit aussieht, weiß ich nicht.
Natürlich ist das bei den 'normalen' Klassen, die man in C++ (andere Sprachen ggf auch, da kenne ich mich nicht aus) erstellt, natürlich nicht der Fall. Memberfunktionen sind dann ganz normal thiscall und der thisptr liegt auch in ECX, statt über den Stack übergeben zu werden
tutorIAL PARA GUMANA YUNG GREEN CHAMS 01/22/2011 - Soldier Front Hacks, Bots, Cheats & Exploits - 14 Replies 1.DOWNLOAD YUNG INJECTOR PATI FILE NG GREEN CHAMPS
2.MAG DOWNLOAD NG TATLONG SETUP
3.IINSTALL MO YUNG ISANG SETUP
4.IINJECT MO NA YUNG GREEN CHAMS
[Tutorial] Define your chams 10/27/2008 - WarRock - 4 Replies Credits to LilCrazed
Sorry if it has been posted i searched and didn't find it
In d3d8dev.cpp
under the includes put
#define Player (m_Stride == 44)
#define Walls (m_Stride == blah)
#define Flags (NumVertices == blah)