Ollydbg Problem

02/28/2009 13:19 schurke90#1
Hi,

also ich suche grad in assembler wo mein register befüllt wird, bin jetzt aber an einer stelle an der ich nicht weiterkomm...

Wie findet man raus von wo der sprung zur derzeitigen adresse kam?

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

weil bei diesem fall ist das register esp befüllt, jedoch finde ich nicht die stelle von der er kam ^^
02/28/2009 14:51 ms​#2
Kam von einem Call vor 0040BC9A.
Das siehst du im Stackfenster. Bei jedem Call wird eine Adresse gepusht, zu dem das Programm beim Return zurückspringen soll.

Edit: Oh ich sehe gerade, dass es um das Register ESP geht. Das ist der Stack Pointer. Bei jedem Push wird er um 4 niedriger und bei jedem Pop um 4 höher. Da das Programm durch einen Call hierhingelangt ist, wurde in dem Fall die Return-Adresse gepusht.
Ich würde dir aber raten, das Register ESP so zu lassen, wie es ist. ;)
02/28/2009 20:06 schurke90#3
Es geht mir auch nicht ums verändern ^^ aber im esp liegt die statische pointer adresse ^^, und wollte wissen woher die da reinkommt ^^
02/28/2009 22:37 ms​#4
Ich weiß jetzt nicht genau was du meinst.
ESP zeigt immer auf das Ende des Stacks.
03/02/2009 10:30 schlurmann#5
Scheinbar ist ja was du suchst auf dem Stack. Wie kommt es dort hin? Es wird vor dem Funktionsaufruf auf den Stack gepusht. Guck' dir den Call an.