|
You last visited: Today at 23:36
Advertisement
Pointer Problem
Discussion on Pointer Problem within the AutoIt forum part of the Coders Den category.
07/04/2011, 17:49
|
#1
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Pointer Problem
Hi,
ich hab die Adresse für die Chatfunktion in dem Spiel "Diablo II" mit Cheatengine rausgefunden.
Jetzt will ich die Adresse halt als Pointer(Wie dieses TuT auch so schön zeigt  ab ca. 1:40.)
Aber wenn ich das alles gemacht hab mit "what writes to this adress" finde ich die Adresse nicht wenn ich sie suche(Hab Hex an)
|
|
|
07/04/2011, 18:12
|
#2
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
so sachen wie chat laufen natürlich im normalfall anders ab.
da der chat aus mehreren einträgen besteht, werden adressen in der regel individuell berechnet. dies geschiet in der regel einmalig, sodass man im nachhinein per breakpoints nichtmehr nachvollziehen kann, was denn auf eine bestimmte adresse zugreift
es könnte zb so aussehen:
Code:
mov eax, [edx + edi * 4]
wobei edi in diesem falle der index der jeweiligen textzeile ist...
wie genau das in diablo2 ist kann ich dir nicht sagen. in der regel läuft das ganze jedoch so ab.
um hier die ablaufreihenfolge nachvollziehen zu können, muss man schonmal eine codeanalyse durchführen...
|
|
|
07/04/2011, 18:23
|
#3
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Quote:
Originally Posted by lolkop
so sachen wie chat laufen natürlich im normalfall anders ab.
da der chat aus mehreren einträgen besteht, werden adressen in der regel individuell berechnet. dies geschiet in der regel einmalig, sodass man im nachhinein per breakpoints nichtmehr nachvollziehen kann, was denn auf eine bestimmte adresse zugreift
es könnte zb so aussehen:
Code:
mov eax, [edx + edi * 4]
wobei edi in diesem falle der index der jeweiligen textzeile ist...
wie genau das in diablo2 ist kann ich dir nicht sagen. in der regel läuft das ganze jedoch so ab.
um hier die ablaufreihenfolge nachvollziehen zu können, muss man schonmal eine codeanalyse durchführen...
|
Also ich kann in Diablo II in ein Spiel beitreten. Wenn ich dann Enter drücke kommt ein Fenster und ich kann eine Message senden wenn ich erneut Enter drücke. Also gibs keine individuellen Zeug darin oder??
Wenn ich "what writets to this adress" mache kommt in der Extra Info in rot: mov[ordinal10001+97f74],eax
Und dariner die einzufügende Adresse lautet: 00097f74
|
|
|
07/04/2011, 18:32
|
#4
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by Ludder231
Also ich kann in Diablo II in ein Spiel beitreten. Wenn ich dann Enter drücke kommt ein Fenster und ich kann eine Message senden wenn ich erneut Enter drücke. Also gibs keine individuellen Zeug darin oder??
Wenn ich "what writets to this adress" mache kommt in der Extra Info in rot: mov [ordinal10001+97f74],eax
Und dariner die einzufügende Adresse lautet: 00097f74
|
naja in diesem falle wäre doch
Code:
[ordinal10001+97f74]
die adresse in der sich dein gefundener wert/string befindet, und eax beinhaltet die zu pushende adresse, welche du benötgst.
wenn du jetzt rücklaufend den code analysierst siehst du doch wie eax zustande kommt.
alternativ könntest du natürlich auch einfach genau an dieser stelle eine codecave platzieren, welche den wert aus eax in eine von dir vorher freigegebene speicherregion kopiert.
diesen könntest du dann einfach per readprocessmemory statisch auslesen.
|
|
|
07/04/2011, 18:38
|
#5
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Quote:
Originally Posted by lolkop
naja in diesem falle wäre doch
Code:
[ordinal10001+97f74]
die adresse in der sich dein gefundener wert/string befindet, und eax beinhaltet die zu pushende adresse, welche du benötgst.
wenn du jetzt rücklaufend den code analysierst siehst du doch wie eax zustande kommt.
alternativ könntest du natürlich auch einfach genau an dieser stelle eine codecave platzieren, welche den wert aus eax in eine von dir vorher freigegebene speicherregion kopiert.
diesen könntest du dann einfach per readprocessmemory statisch auslesen.
|
Übertreib doch nicht!  Ich bin anfänger  Noch nie davon gehört, haste ne erklärung bzw. TuT ??
|
|
|
07/04/2011, 19:04
|
#6
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
ich denke wenn du dich weder mit asm noch mit speichernutzung des pcs auskennst, macht es wenig sinn mit dem speicher arbeiten zu wollen :s
nicht falsch verstehen, dies soll keine beleidigung sein, sondern einfach nur der hinweis, dass es sinnvoll wäre dich doch erstmal mit den genannten problemen zu befassen, bevor du versuchst aus einer scriptsprache heraus auf sehr hardwarenaher ebene rumzupfuschen =)
|
|
|
07/04/2011, 19:14
|
#7
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Also mit memoryread kenn ich mich bisschen aus hab schon was damit gescriptet
|
|
|
07/04/2011, 19:18
|
#8
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
eine adresse auslesen ist eine sache, komplexe vorgänge auf systemebene verstehen eine ganz andere...
den pointerbaum von gesuchten werten zu untersuchen ist in der regel nur vergeudete zeit, da man mit codecaves dieses vorgang komplett umgehen kann...
|
|
|
07/04/2011, 19:19
|
#9
|
elite*gold: 0
Join Date: Aug 2010
Posts: 880
Received Thanks: 113
|
Okay, wenn du meinst mach ich lieber was anderes, trozdem danke für die mühe
|
|
|
07/04/2011, 19:24
|
#10
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
schaue dir das ganze doch einmal in einem vernünftigen debugger an, und versuche dir eine einfache codecave dort einzufügen =)
falls du nicht weist was eine codecave ist, dabei handelt es sich lediglich um eine einfache umleitung auf deinen eigenen code =)
|
|
|
 |
Similar Threads
|
CE Pointer Problem
11/25/2010 - General Coding - 8 Replies
Hallo,
es gibt zwar genügend CE Threads, jedoch habe ich nirgendswo meine Lösung für mein Problem mit den Pointern gefunden. Ich spiele ein lustiges 2D Game, wo CE klasse funktioniert. Ich kann Relaunches einfrieren, Leben wir auf 100% setzen und noch ein paar andere lustige Dinge, jedoch muss man ja bei jedem neustart immerwieder von vorne suchen, aber dafür gibts ja die Pointer (Oder Irre ich mich?), nur wenn ich auf "Search Pointer" klicke findet er 90 Millionen, und wie ich sie dann...
|
Pointer Problem
05/02/2010 - General Coding - 4 Replies
guten abend,
ich bin schon die ganze zeit dran einen pointer mit CE zu erstellen.
der wichtige screenshot
http://www.bilder-hochladen.net/files/ewld-1-jpg. html
der value wert der addresse springt in der anzeige immer von 550-0-813694976-0 und wieder von vorn durch ( so jeweils 1 sec intervall )
mein problem:
|
problem mit pointer
12/28/2009 - General Coding - 7 Replies
nabend^^,
habe da ein problem . ich habe die xyz pointer von dem game requim bloodymare gesucht. das ging auch. dann habe ich halt find out what writes to this adress. kam ein mov command . ich sollte halt nach der adresse : 01294170. und? es kommt nicht eine adresse. bei allen 3 adressen zeigt er mir die adresse von oben an.
wie komme ich an den base pointer ?
|
Pointer Problem
11/28/2009 - General Coding - 9 Replies
Huhu,
und zwar folgendes Problem ich wollte mich etwas mit cheatengine beschäftigen und ein paar Pointer in Diablo 2 finden.
Angenommen ich suche meine Lebenspunkte (1631)
--> First Scan (4bytes , exact value) = 1631
--> ein paar weitere Scans mit veränderten Werten und es bleiben noch 2 Addressen übrig die immer den gleichen Wert haben sobald sich mein Leben verändert im Spiel.
|
All times are GMT +1. The time now is 23:37.
|
|