Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 14:38

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Problem beim debuggen von Solitär

Discussion on Problem beim debuggen von Solitär within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2006
Posts: 150
Received Thanks: 0
So, der übung halber debugge ich im Moment ab und an Programme und suche irgendwelche Variablen raus und probiere die Adresse dazu zu finden. Bei Solitär probiere ich das gerade mit den Punkten.
Also ich habe über tsearch die adresse natürlich gefunden. Habe dann das ganze über ollydbg gesucht breakpoint gesetzt und auch den dazu passenden asm code gefunden Jetzt kommt das problem, meine asm kenntnisse sind doch sehr begrenzt. Screen ist im Anhang.
Die start Adresse ist markiert, von da aus gehts weiter in der Zeile
010030A7 wo ESI mit EPB + 8 beschrieben wird.
Dann geht's weiter in Zeile 01003070 (wieder markiert).
MOV EBP,ESP hierbei habe ich jetzt vermutet das EBP mit ESP beschrieben wird. Nur leider finde ich jetzt ESP nicht. Zumindest nicht in den nächsten 25 Zeile etwa darüber =/

Bitte um Hilfe

~triris

PS: suche btw ein kleines ASM tut um mir vlt doch etwas die Grundlagen anzueignen ^_^
Attached Images
File Type: jpg post-136-1176731947.jpg (46.8 KB, 3 views)
triris is offline  
Old 04/16/2007, 16:31   #2
 
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
Mal abgesehen dass die Adresse in diesem Fall statisch ist und du generell immer nach 0xAA040 schreiben kannst :

Du hast die Adresse wo die Punkte stehen, in dem Fall in 0xAA040 und weisst dass [esi+0x30] die Adresse ist, dann müsstest du bloß 0xAA040 - 0x30 rechnen.....

esi ist also 0xAA010 bzw 696336 und steht in diesem Fall an 3 Stellen :

7FDBC
7FDE4
1007170
neji is offline  
Old 04/16/2007, 16:36   #3
 
rEdoX's Avatar
 
elite*gold: 20
Join Date: Jan 2006
Posts: 539
Received Thanks: 228
ESP ist der stackpointer, er wird durch push's/pop's veraendert.

Es koennte sein, dass im stack gerade die parameter der funktion(0x100306F) stehen.



lg
rEdoX is offline  
Old 04/16/2007, 18:32   #4
 
elite*gold: 0
Join Date: Dec 2006
Posts: 150
Received Thanks: 0
Danke euch beiden für die schnellen Antworten
Also wenn eine Variable mehrmals den gleichen Speicher belegt ist sie auf jeden Fall statisch? Kann kein Zufall sein?
triris is offline  
Old 04/17/2007, 08:43   #5
 
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
doch kann auch Zufall sein....mit einer Chance von 1:100000 oder so

Also im ernst, wenn dein Pointer nach einem Neustart des Spiels immer noch der gleiche ist, dann kannste davon ausgehen, dass die Adresse statisch ist.
neji is offline  
Old 04/17/2007, 18:25   #6
 
elite*gold: 0
Join Date: Dec 2006
Posts: 150
Received Thanks: 0
Danke dir

#edit 100. Post
triris is offline  
Old 04/18/2007, 02:39   #7
 
elite*gold: 0
Join Date: Apr 2007
Posts: 66
Received Thanks: 15
Die ersten zwei Zeilen sind Standard-Code, ignorieren, vergessen, was du magst. Der Compiler bereitet bei einem Funktionsaufruf immer den Stack für die aufgerufene Funktion auf, beginnt also immer mit dem Sichern vom Original-Basepointer (BP), esp verschieben, Funktion ausführen, Original-BP herstellen (pop ebp). Das wirst du bei vermutlich jeder Funktion finden und ist nichts, worüber du dir Sorgen machen musst.

Edit: Wurde jetzt nicht direkt gefragt, aber man kann sich schon darüber wundern:

Code:
xor eax,eax
Der Code gibt, wenn man drüber nachdenkt immer Null. D.h. also: Wird das irgendwo aufgerufen, wird ein Register auf 0 gesetzt. Wieso aber xor und nicht mov register,0? Tatsächlich ist es so, dass das xor schneller ist, als das mov und somit übersetzt ein Compiler ein xor draus. Ganz simpel.
wiz is offline  
Old 04/18/2007, 08:33   #8
 
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
xor macht nichts anderes als ein gegebenes Bit umdrehen
wenn auf beiden Seiten der Gleiche Wert steht, dann werden alle Bits, die 1 sind, umgekehrt und es kommt logischerweise 0 dabei raus.
neji is offline  
Old 04/22/2007, 01:49   #9
 
elite*gold: 0
Join Date: Apr 2006
Posts: 103
Received Thanks: 5
Quote:
Originally posted by neji@Apr 18 2007, 08:33
xor macht nichts anderes als ein gegebenes Bit umdrehen
wenn auf beiden Seiten der Gleiche Wert steht, dann werden alle Bits, die 1 sind, umgekehrt und es kommt logischerweise 0 dabei raus.
1010010 -> 0101101

oder?
Busti is offline  
Old 04/22/2007, 02:07   #10
 
elite*gold: 0
Join Date: Apr 2007
Posts: 66
Received Thanks: 15
xor nimmt als Operator zwei Argumente!
Abweichungen der Bits werden zu einer eins, gleiches zu einer 0.

101 xor 100 -> 001
wiz is offline  
Old 05/23/2007, 19:33   #11
 
elite*gold: 0
Join Date: Aug 2006
Posts: 22
Received Thanks: 1
Die 2 Zeilen am Anfang der Routine gelten nur der Initialisierung d. Stacks, da gibts an sich nicht viel rumzufuschen. Schau lieber in den Code, wo die Routine aufgerufen wird (STRG+F9 drüclen oder so, damir du zum RETN kommst (Till Return auf jedenfalls) - hab Olly lange nicht mehr benutzt) und durchforste den Code.
l8rdude is offline  
Reply


Similar Threads Similar Threads
Debuggen
06/12/2010 - AutoIt - 32 Replies
So, wie, wo, was? Ich hab erfahren das es möglich ist, nur nicht wie xD So denn, kann man das mit Standart-Funktionen lösen oder gibts ne UDf. Am besten wäre n kleines Tut, oder n paar hingeklatschte Snippets zum analysieren^^
Solitär Hack [Ger]
05/04/2010 - General Coding - 1 Replies
Hi, ich versuche gerade das Tutorial "Gamehacking Howto I" mit .net durchzuarbeiten. Aber irgendwie bekomme ich das nicht hin. Ich muss jetzt nur noch irgndwie den wert der Adresse "solitaire.exe+97074" auslesen und da weiß ich nicht wie ich das machen soll.
[NEED HELP] Problem beim Einloggen beim Hamachi-Server
02/27/2010 - Metin2 Private Server - 11 Replies
Hi Leute, ein Freund und ich haben uns mal gedacht, dass man sich so aus Spaß einen eigenen kleinen Pserver machen könnte. So nur für uns beide über Hamachi. So, dann ahben wir nach 3h den Server endlich online gekriegt, sodass alles funktionierte mit GM-Rechten etc. Die MC.txt haben wir auch alles gemacht alles funktioniert. Ich konnte mich sogar einloggen und ich komme auch zur Charakterauswahl. Dort angekommen, wähle ich dann den Char aus & kriege dann aber einen Kick. Das ist jedes Mal das...
Error beim erstellen+Debuggen bei vb 2010 x.x
12/05/2009 - .NET Languages - 1 Replies
Guten tag Leute ;-) Habe neulich das Problem wenn ich auf Debuggen klicke kommt da so nach 2 Sekunden "MSBuild.exe funktioniert nicht mehr" dann hängt sich auch Visual Stusio auf. Ebenfalls kommt der gleiche Fehler wenn ich auf Erstellen klicke. Ebenfalls kommt dieses Problem bei früheren Versionen (2008, 2005). Ich hab schon die sufu genutzt x.x Ich hoffe ihr könnt mir helfen MfG
Probleme beim debuggen
10/17/2007 - General Coding - 4 Replies
Hijo, habe mir mal http://www.elitepvpers.com/forum/tutorials/79448-dm a-ueberlisten.html dieses Tutorial angeschaut und eigentlich läuft alles glatt, aber ich glaube ich lande in der falschen zeile. Normal den breakpoint gesetzt Directupload.net - owk8qs7c.jpg und dann Directupload.net - 6z77gihp.jpg komme ich in diese zeile. Laut tutorial sollte ich aber in eine Zeile mit MOV befehl kommen. Kann ja auch anders sein, habe dann einfach mal den Ursprung von ebx gesucht, allerdings...



All times are GMT +2. The time now is 14:38.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.