Einfache Pointer/Offsets mit IDA Pro finden

10/14/2010 12:24 Threk#1
Hey,
das ist jetz mein erstes Tutorial auf Epvpers, also verzeiht mir bitte wenn ich etwas falsch mache :handsdown:


Benötigte Programme:
IDA Pro: [Only registered and activated users can see links. Click Here To Register...]
Hex-Rays Decompiler Plugin: [Only registered and activated users can see links. Click Here To Register...] ( Optional aber nur zu empfehlen ;)



Schritt 1:
Wir starten IDA( unter Windows7 und Vista als Administrator ausführen).
Sollte sich nun dieses Fenster öffnen:
[Only registered and activated users can see links. Click Here To Register...]
nun drückt ihr einfach auf 'New'

Nun sollt es etwa so aussehen:
[Only registered and activated users can see links. Click Here To Register...]
Dort einfach auf 'Cancel' gehen

Danach geht ihr oben of
-->File
-> Open

Jetz wählt ihr einfach die WoW.exe aus und NICHT die WoW Verknüpfung die auf dem Desktop liegt, denn diese führt nur zu dem Launcher!
[Only registered and activated users can see links. Click Here To Register...]
Und wieder auf 'OK' klicken.

Nun lasst ihr einfach den Prozess der Analyse durchlaufen bis unten links folgendes steht( dies kann einige Minuten in Anspruch nehmen):


Schritt 2:

Wenn alles fertig ist sollte es in etwa so aussehen:
[Only registered and activated users can see links. Click Here To Register...]

Okay,
aus dem Grund das wir nach einem Text suchen wollen müssen wir das 'Strings Window' aufrufen.
Das machen wir wie folgt:
---> Drücke 'Alt + F12' nun kurz warten bis alles fertig geladen hat.

Wir suchen jetz einfach mal nach der einfachsten Sache,
das währe dann wahrscheinlich 'GetMinimapZoneText'.

Um etwas zu suchen:
-> 'Alt + T' drücken und den Suchbegriff eingeben und Enter drücken.

Dann sollte es ungefähr so aussehen:

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



Schritt 3:

Nun macht ihr einfach einen Doppelklick auf den Eintrag
( 'GetMinimapZoneText')

Um nun den 'Sub-View' zu öffnen machen wir einen Doppelklick auf die .data Adresse, zu finden hier:
[Only registered and activated users can see links. Click Here To Register...]


Schritt 4:
So, um nun in den ASM-View zu gelangen machen wir einen Doppelklick auf die Sub unter 'GetMinimapZoneText'
[Only registered and activated users can see links. Click Here To Register...]

Hier müsst ihr nun selbst Hand anlegen und ein wenig reversen.

Wenn wir jetz zusätzlich das 'Hex-Rays Decompiler Plugin' haben können wir einfach 'F5' drücken und es erscheint der PseudoCode in C

Im meinem Fall währe meine Adresse nun:
0xD8167C

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

Es kann sein das sich da etwas mit dem neuen Patch geändert hat,
habe immoment leider keine WoW zum testen auf meinem PC :D


@Die die schlauer sind als ich:
tut mir leid, wenn etwas falsch erklärt habe oder falsch geschrieben habe.


Mfg,
Threk
10/14/2010 12:43 HardCore.1337#2
sieht ganz gut aus. :D
10/23/2010 21:17 Elongate#3
Ich leg mal den link für mein [How to get _pNetwork with IDA Pro Free Video] mit hierzu, gesucht hab ich für Last Chaos. Hoffe es stört kein, kann ja nur helfen.

[Only registered and activated users can see links. Click Here To Register...]
11/20/2010 19:54 WhiteLionATX#4
ich schnall dein network tutorial nicht ... ich seh nur jemanden der eine dll in einem debugger öffnet und nach einem string sucht ... keine erklärung kein gar nix was das soll!?
12/30/2010 13:20 5769854332#5
Zu Schritt 1:
"New" + "Cancel" zu drücken macht keinen Sinn. :)
Drücke entweder "New" und wähle dann das entsprechende Fileformat aus; oder drücke "Go" (aka work on your own).
07/24/2011 12:09 shuuky#6
Super erklärt.
Kannst du noch eins machen wie man diese Adressen dann in C++ weiter verarbeitet?
07/24/2011 12:44 buFFy!#7
Quote:
Originally Posted by shuuky View Post
Super erklärt.
Kannst du noch eins machen wie man diese Adressen dann in C++ weiter verarbeitet?
das hat adroxxx in seinem gamehacking tutorial I gemacht
07/24/2011 18:32 shuuky#8
Meinst du das? Gamehacking Howto I
Ich glaube für eine art radar ist das eher weniger nützlich :/
07/25/2011 11:33 buFFy!#9
wieso? du sollst ja nur den part mit den pointern rausrippen. mal ganz davon abgesehen ist das standard. wenn du das nicht kannst wirds mitm radar schwierig
06/09/2012 21:56 Threk#10
Da ich momentan wieder Lust habe ein paar Tutorials zu machen, frage ich einfach mal:
Was würde ich mehr zusagen ein Video tutorial oder ein geschriebenes (wie dieses hier) ?

Das Video tutorial würde ich wahrscheinlich auf Deutsch und eines auf Englisch machen.

Ich würde erst einmal näher auf das Suchen der Adressen eingehen und dann wie man sie mit c++ oder einer beliebigen Sprache verwendet.

Also, was fändet ihr besser, Video oder schriftlich ?
08/22/2012 08:47 .Scare™#11
Kleine frage, ich habe die Addressen immer mit CE rausgesucht, nun wollt ich fragen, ist das die Base Addresse? Also wen man das spiel dan neustartet, ist es dan noch die selbe adresse oder ändert die sich andauernd?

Mfg
08/22/2012 10:32 Threk#12
Quote:
Originally Posted by .Scare™ View Post
Kleine frage, ich habe die Addressen immer mit CE rausgesucht, nun wollt ich fragen, ist das die Base Addresse? Also wen man das spiel dan neustartet, ist es dan noch die selbe adresse oder ändert die sich andauernd?

Mfg
Die verändert sich auch beim Neustart des Spiels (sofern das Spiel denn ASLR verwendet ( Was mittlerweile viele tun)).

In CE kannst du (wenn einen Pointer zu der Pointer list addest) direkt Wow.exe + Adresse eingeben.

Also zum Beispiel:
Wow.exe + 0x123123

Er holt sich die BaseAdresse von Wow.exe dann selber (aber natürlich nur für die eine Adresse).
08/22/2012 11:09 .Scare™#13
Wie er holt die selber?
Wen ich eine addresse adde und dan das spiel neu starte ist die addresse nicht mehr die selbe. Auser es ist der BasePointer.

Oder verstehe ich da was falsch