In wow Static pointer finden

03/06/2007 22:22 neji#16
ich sprach nicht explizit von wow
da geht das ohnehin nicht weils serverside ist
03/08/2007 21:00 Bot_interesierter#17
Ich will ja auch nichts nopen, sondernd meine hp lesen, das brauche ich wie gesagt um einen Bot zu bauen.
03/12/2007 08:43 neji#18
naja, wie man aus dem Matheunterricht noch weiss kann man eine Gleichung mit 2 Unbekannten lösen, aber jeder kann zu einem anderen Ergebnis kommen.

Da hier aber nur ein Ergebnis das richtige sein kann, wird das wohl schwierig zu versuchen die Adresse zurück zu rechnen.

Das Programm könnte evtl einen Breakpoint auf die Funktionsadresse setzen, von wo du dann die beiden Register ausliest.
Ich weiss nicht wie viel Erfahrung du hast, aber dafür braucht man schon etwas mehr know how
03/13/2007 08:06 Bot_interesierter#19
Naja, was gamehacking an geht habe ich keine erfahrung, ich lese mich gerade ein. Für deinen Vorschlag müsste ich doch asm schreiben können, oder? Ich "kann" leider nur c++, aber der bot wird mein erstes großes Project.
Aber ich bin auch bereit mir zusätzliches asm know how anzueigen, wenn nötig, ich habe genug Zeit.
03/13/2007 08:18 Adroxxx#20
naya musst ja kein asm pro sein. reicht fürs erste wenn du biss die befehle drauf hast usw.

hier im forum stehen gute befehlsreferenzen usw.
also sollte es kein problem sein =)
03/13/2007 12:02 rEdoX#21
Schreib (WrteProcessMemory) an die adresse, wo du die register auslesen willst, ein EBFE dann laesst du eine
endloschleife laufen und holst dir mit GetThreadContext den aktuellen kontext.
Wenn der eip deiner adresse entspricht rechnest du die register zusammen und schreibst den alten "wert" an die adresse zurueck.
03/15/2007 11:10 Bot_interesierter#22
@redox
Leider versteh ich nicht ganz was du meinst, aber es geht warscheinlich auch nicht, denn wow mag es nicht wenn ich an den adressen rumfummel, memorywrite führt in den meisten fällen einfach dazu das wow sich schließt und was von Accessviolation erzählt :>
03/15/2007 14:36 rEdoX#23
Dann schreibst du an die falschen adressen oder mit falschen werten.

Ich weiss auch nicht wie es mit warden (?) aussieht, und ob man dafuer gebannt werden kann, also erstmal mit einem test acc versuchen.
03/16/2007 16:24 Bot_interesierter#24
Ich verstehe auch nicht ganz wie mir das helfen soll die Register auszlesen und damit dann von der Adresse die die Health Schreibt auf die Adresse in der sie gespeichert ist zu kommen ^^, kann ich nicht irgendwie mit lesen was da geschrieben wird bei 66379C mov [eax+edx*4],ecx, also ne Funktion die ecx ausliest oder krieg ich dann nicht die aktuelle health?
03/17/2007 15:59 rEdoX#25
Das ganze geht so wie ich es oben beschrieben habe, oder mit einem int3 breakpoint oder hardware breakpoints oder oder oder...
Sowie ich das sehe hast du noch nicht soviel erfahrung, vieleicht solltest du mit etwas einfacherem anfagen.
03/18/2007 12:53 Bot_interesierter#26
Ich habe in TSearch eine Funktion gefunden mit der ich die Register auslesen kann, nur verstehe ich nicht so ganz wie das geht (ich bekomme als ausgabe immer 0), wenn ich den Inhalt der Register an dieser Adresse, welche die HP schreibt damit auslesen kann hab ich dma schon fast besiegt, dann muss ich ja nur noch die Adressen finden in denen die Werte aus den Registern gespeichert sind und mir die Adressen notieren.
Weiss jemand wie man das macht, mit TSearch?
03/18/2007 20:40 sd333221#27
Quote:
Originally posted by rEdoX@Mar 17 2007, 15:59
Das ganze geht so wie ich es oben beschrieben habe, oder mit einem int3 breakpoint oder hardware breakpoints oder oder oder...
Sowie ich das sehe hast du noch nicht soviel erfahrung, vieleicht solltest du mit etwas einfacherem anfagen.
Das sind aber echt üble Methoden um das Leben zu hohlen,
sowas würde ich als sehr unsauberen Code bezeichnen weil
man das ganze Programm anhält nur um eine Variable auszulesen
und auch noch mit Methoden die ordentlich Speicher ziehen :?

Warum nicht einfach nach dem offset suchen!?
03/18/2007 22:02 rEdoX#28
Ich habe mir das ganze noch nicht angeguckt, aber wie
meinst du das mit "nach dem offset suchen"?
03/19/2007 18:31 sd333221#29
Man kann die Adresse schon rauskriegen,
leider ist sie nicht statisch, deshalb braucht das rausfinden c.a. 500ms
(Wenn man nichts am Prozess macht also nur mit ReadProcessMemory arbeitet)
Dann hat man allerdings den Pointer und der ändert sich auch bis zum ausloggen nicht mehr :D

[Only registered and activated users can see links. Click Here To Register...]

Code gibts gegen Geld per PM

//Ne ich poste den hier nicht weil es echt "drecking" gecoded ist (in 5 Minuten hingeklatscht)
mit Endlosschleifen etc...
Wenn ich mir Zeit nehmen würden würde ich sicher auch schnellere Methoden finden =>
Pointer sofort rauskriegen

Also fragt mich per PM nur nach dem Code wenn ihr ihn umbedingt braucht (ist in C++)
und heult dann nicht um erklärungen oder so...

Edit: Yeha, 300 Posts
Code ist raus an: 1.[Only registered and activated users can see links. Click Here To Register...]

Quod erat demonstrandum
03/19/2007 21:08 silon#30
Quote:
Originally posted by sd333221+Mar 18 2007, 20:40--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (sd333221 @ Mar 18 2007, 20:40)</td></tr><tr><td id='QUOTE'>
Quote:
Originally posted by -rEdoX@Mar 17 2007, 15:59
Das ganze geht so wie ich es oben beschrieben habe, oder mit einem int3 breakpoint oder hardware breakpoints oder oder oder...
Sowie ich das sehe hast du noch nicht soviel erfahrung, vieleicht solltest du mit etwas einfacherem anfagen.
Das sind aber echt üble Methoden um das Leben zu hohlen,
sowas würde ich als sehr unsauberen Code bezeichnen weil
man das ganze Programm anhält (...)[/b]

Um korrekt zu sein, wird nur der Thread, der den Software Breakpoint auslöst, angehalten. Alle anderen laufen wie gewohnt weiter. Ob der Debugger die anderen Threads trotzdem anhält, steht ihm frei (was die meisten aber tun).

Quote:
Originally posted by -sd333221@Mar 18 2007, 20:40
Warum nicht einfach nach dem offset suchen!?
Weil die Suche in der Form gar nicht notwendig ist. Es ist - was Prozessorzeit und Speichernutzung angeht - billiger einen Software Breakpoint auszulösen und zu behandeln als einen Speicherbereich nach Werten (Pattern) zu durchsuchen.

Quote:
Originally posted by -sd333221@Mar 19 2007, 18:31

//Ne ich poste den hier nicht weil es echt "drecking" gecoded ist (in 5 Minuten hingeklatscht)
mit Endlosschleifen etc...
Du bezeichnest redox' Methode mit dem dazugehörigen Code als unsauber und später sagst du selbst, dein eigener Code wäre dreckig? Komischer Kautz bist du ;)

<!--QuoteBegin--sd333221
@Mar 19 2007, 18:31

Code gibts gegen Geld per PM
(...)
Code ist raus an: 1.[Only registered and activated users can see links. Click Here To Register...]
[/quote]
Ich hatte mich schon immer gefragt, ob man mit so einem scheiss Geld machen kann.