In wow Static pointer finden

02/18/2007 10:17 Bot_interesierter#1
Hiho, ich will nen bot bauen der mit hilfe von memory reading seine infos kriegt und ohne injection Arbeitet, nun stehe ich vor dem Problem das der dumme Ram numal größten teils random belegt wird und würde gerne wissen wie ich static pointer zb auf Health und Mana finden kann, ausserdem brauche ich natürlich noch die coordinaten auf denen sich der Spieler befindet und sachen wie Target lvl und Infight oder Out of fight.
Was für ein prog kann ich da benutzten, ich möchte nicht ce nehmen weil das zu einem Ban führen kann, mit tsearch hab ich noch keine Static Pointer finden könn, schomal danke im vorraus :-)
02/18/2007 10:41 neji#2
guck dir bei gamehacking.com die Tutorials zu DMA to Static an. Da sind genügend Methoden aufgezählt denke ich
02/18/2007 15:08 Bot_interesierter#3
hm, hab wie da beschrieben mit tsearch das autohack auf die adresse vom Health benutzt, ergebniss ist
66379C 890C90 mov [eax+edx*4],ecx
leider kann ich kein asm, kann mir jemand das in C++ oder anders verständlich übersetzten.
02/18/2007 23:39 Leonino#4
Quote:
Originally posted by Bot_interesierter@Feb 18 2007, 15:08
hm, hab wie da beschrieben mit tsearch das autohack auf die adresse vom Health benutzt, ergebniss ist
66379C 890C90 mov [eax+edx*4],ecx
leider kann ich kein asm, kann mir jemand das in C++ oder anders verständlich übersetzten.
das muss man nicht uebersetzten das muss man verstehen

das ist ein move befehl es gilt ziel, quelle

eax und edx sind register
es wird also der inhalt der register eax und edx addiert und mit 4 multipliziert
wie es bei asm mit punkt vor strichrechung aussieht weiss ich nicht ;E
ich nehme mal an das ergebniss wird dann die adresse sein in der inhalt von ecx gemovt wird
02/19/2007 02:18 Bot_interesierter#5
ui thx, jetzt brauch ich nur noch hilfe beim finden von den Static pointern auf die coords ( die finde ich nichtmal so, hab keine ahnung welche value die haben ^^) und mobinfo (lvl, pvp, elite, infight outoffight usw.).

Und ich mach mich schonmal drann jetzt ne funktion zu schreiben die die hp liest.
02/19/2007 02:33 doomy#6
Gibt ja genug Guides hier , wie man sich mittels Tsearch Teleportiert.Da müsste auch drinstehen wie man die Adresse rausbekommt.Dadurch kommste wieder auf deinen Pointer :)
02/21/2007 10:39 Adroxxx#7
guck doch einfach mal auf gamehacking.com oder [Only registered and activated users can see links. Click Here To Register...] da findest du zu dem thema genug infos.
btw: mit code injection und code caves könntest du dir dein leben einfacher machen ;)
02/22/2007 17:03 Bot_interesierter#8
Ich weiss, aber angeblich sieht Warden ja Injectionen, deshalb mag ich nix injecten, ausserdem fehlt mir daszu des fachwissen nacher crash ich des ganze system xD
02/25/2007 10:58 Bot_interesierter#9
So nur im sicher zu gehen das ich des richtig verstanden habe, die value die in meinem Pointer steht ist des offset zum Value die ich suche, also Adresse vom Pointer + Value = Ziel Adresse?
02/26/2007 08:49 neji#10
nehmen wir an du hast deinen wert mit Tsearch gefunden. Da die Adresse aber dynamisch ist, wäre sie nach dem nächsten Restart/Mapwechsel o.ä. wieder eine andere.

Also setzt du erstmal ein Breakpoint für schreibzugriffe auf diese Adresse (mit Tsearch --> Autohack)

Wenn du dann das nächste mal schießt, stirbt oder was du auch immer gesucht hast, bekommst du vom Autohack einen ASM code angezeigt. z.b. sowas

12345678 mov[edx+0x68],edi

12345678 wäre dann die adresse wo dieser code eben steht....diese adresse ist statisch.

Wenn du den mov befehl nun aus NOP'st, dann würdest du keine Leben mehr verlieren.

Das ist eine einfache Lösung, funktioniert aber nicht in allen Fällen.....nehmen wir an, du suchst die Stelle an der die momentan angelegte Waffe ist (mit den Werten 1-6 oder so) und du willst diese durch einen Trainer ändern.

mov[edx+0x68],edi <--- heisst ja , dass der Wert in edi an die Adresse edx+0x68 geschrieben werden soll.....der Wert von edx ist bei jedem Neustart des Spiels bei diesem Aufruf ein anderer, daher ja dynamisch.
in edi steht die ID der angelegten Waffe.
Man könnte jetzt per code einfach das edi in die ID der gewünschten Waffe ändern, würde aber nichts bringen, da dieser Code erst aufgerufen wird, wenn man die Waffe auch tatsächlich wechselt. Verstehst du was ich damit sagen will? Es reicht also nicht, die Adresse zu können, an der steht, wie die Waffe gewechselt wird. Wir brauchen die direkte dynamische Adresse.

Nehmen wir jetzt folgendes an :
- du hast die Waffen-ID an der adresse 463746DA gefunden.
- du weisst dass der Code zum ändern mov[edx+0x68],edi lautet
- also muss edx+0x68 = 463746DA sein

rechnen wir also 463746DA - 0x68 dann haben wir edx
Jetzt suchen wir nach dem Wert den wir errechnet haben im speicher, denn der muss ja auch irgendwo stehen (vorher nach dez umwandeln)

Die adresse die du jetzt findest ist auch statisch.

Bei jedem mal wo du jetzt die Waffe ändern willst liest du den Wert an dieser Adresse aus, addierst 0x68 und hast deine dynamische Adresse und kannst da jetzt reinschreiben was du willst.
02/27/2007 13:13 Bot_interesierter#11
Vielen dank neji, sehr ausführlich hast du das erklärt :-)
Ich will die werte übrigens nicht ändern ich lese sie nur, brauch die infos ja nur für meinen bot :-)
Ich werde das jetzt mal probieren und schauen ob ich dann den wert gleich finde.
02/27/2007 14:29 neji#12
Auch zum lesen musst du die Adresse zurückrechnen :)
03/06/2007 01:36 Bot_interesierter#13
Ich habe jetzt das problem das bei den Lebenspunkten 2 Register verwandt werden um die Adresse zu berechnen, daher kann ich die von dir gezeigte Methode nicht benutzten und weiss immoment nicht weiter.
Den asm code der die hp in die Adresse schreibt hab ich oben schon gepostet, nur hab ich ihn da noch nicht verstanden, wäre nett wenn du mir sagen könntest wie ich in dem Fall vorgehen muss um wieder meine dynamische adresse zu errechen.
03/06/2007 16:25 neji#14
Nen wirklich gescheiten Weg dafür kenne ich nicht.....aber wenn es um deine HP Zahl geht, dann brauchste die Funktion an der Adresse 66379C eh nur Ausnoppen um unendlich Leben zu bekommen......da interessiert es nicht wirklich an welche Adresse er schreiben möchte
03/06/2007 17:39 sd333221#15
Quote:
Originally posted by neji@Mar 6 2007, 16:25
Nen wirklich gescheiten Weg dafür kenne ich nicht.....aber wenn es um deine HP Zahl geht, dann brauchste die Funktion an der Adresse 66379C eh nur Ausnoppen um unendlich Leben zu bekommen......da interessiert es nicht wirklich an welche Adresse er schreiben möchte
Als ob das in WoW gehen würde omg... noppe die mal aus und lass dich von 5000 Gegnern angreifen,
du stirbst trozdem oder glaubst du Blizzard lässt Variablen wie Leben Clientside?
Wohl kaum