OldSchoolHack

Register / Login English

SDK


icon SDK #1

Join Date: Jan 2011

Posts: 12

Hallo zusammen

Ich habe bisher noch nie mit der OB SDK gearbeitet. Darum frage ich hier mal, ob jemand eine Empfehlung hat, wie ich am besten einsteige. Was ich bereits geschafft habe, ist die Console in CSS zu hooken, so dass ich nun mit ConMsg() bzw. ConColorMsg() Texte in der Console ausgeben kann. Wie gehe ich nun am besten weiter vor und welche Seite(n) könnten mir dabei helfen?

Greetz

icon #2

Join Date: Aug 2007

Posts: 8643

User-Rating:

199 positive
33 negative
schau dir den basehook von s0beit an. der sollte dir weiterhelfen

greetz KN4CK3R

__________________

Hallo
icon #3

Join Date: Jan 2011

Posts: 12

Für die includes + Interfaces war es auf jeden Fall hilfreich. Ich versuche nun wie er Init(), HudUpdate() und CreateMove() zu hooken und habe mir dazu den index in der ClientBase VTable rausgesucht.

Init: 0,
HudUpdate: 11,
CreateMove: 21

Mein HudUpdate hook functioniert problemlos. Bei meinem Init hook crasht das Game beim aufruf der Original-Funktion.

Im Header:
CPP Code:
  1. int ( __stdcall *oInit )( CreateInterfaceFn, CreateInterfaceFn, CGlobalVarsBase* );

Hook:
CPP Code:
  1. oInit = (int ( __stdcall* )( CreateInterfaceFn, CreateInterfaceFn, CGlobalVarsBase* ) )HookVFunc(*(DWORD**)g_pClient, 0,( DWORD* ) &hkInit );

Gehookte Funktion:
CPP Code:
  1. int hkInit( CreateInterfaceFn appSystemFactory, CreateInterfaceFn physicsFactory, CGlobalVarsBase *pGlobals )
  2. {
  3. return oInit( appSystemFactory, physicsFactory, pGlobals ); //<-- crash
  4. }

Hier noch die HookVFunc:
CPP Code:
  1. DWORD *HookVFunc( DWORD *vtable, int index, DWORD *newFunction )
  2. {
  3. DWORD dwOldProt, *oldFunc;
  4. VirtualProtect(&vtable[index], 4, PAGE_EXECUTE_READWRITE, &dwOldProt);
  5. oldFunc = (DWORD*)vtable[index];
  6. vtable[index] = (DWORD)newFunction;
  7. VirtualProtect(&vtable[index], 4, dwOldProt, &dwOldProt);
  8. return oldFunc;
  9. }

Hat irgend jmd. eine Idee, was der Grund dafür sein kann?

EDIT:
Habs jetzt zum laufen gebracht ^^
btw. habe den code oben gefixxt, ist zwar totaler Müll und VAC dt, da in den .rdata Bereich geschrieben wird(s. HookVFunc), aber wenn wer freude daran hat, darf er ihn natürlich gerne verwenden