[Ollydbg] Referenzen auf Speicherstelle suchen



  • Moin,

    ich habe eine Funktion. Die Adresse dieser Funktion (also die Adresse der ersten Instruktion) wird im Datensegment gespeichert. Wie kann ich herausfinden, an welchen Stellen die Adresse dieser Speicherstelle referenziert wird?

    MfG



  • Breakpoint vor dem entsprechenden CALL oder JMP-Befehl.



  • Wann ist ein CALL oder JMP-Befehl "enstprechend"?
    Ich habe nur die Adresse der Adresse der Funktion und möchte wissen, wo diese Adresse der Adresse überall verwendet wird.

    MfG



  • Vielleicht den Block im Datensegment auswählen und mit Rechtsklick Find References to



  • Mir ist gerade aufgefallen: so ein "echtes" Datensegment ist das nicht.
    Es taucht direkt im CPU-Fenster von Ollydbg auf - die Funktionen liegen direkt dahinter, das ist einfach eine Definition á la "DD myModule.Adresse", wobei myModule.Adresse auf die Adresse meiner Funktion zeigt.
    Ich habe das jetzt so interpretiert, dass die Adresse direkt in das Codesegment gepackt wird, an diesen Offset.

    Es gibt zwar per Rechtsklick diverse "Find... references to: command / jmp location...[]", aber nichts, was mir eine Liste von Aufrufpunkten gegeben hätte.

    MfG



  • Wenn du die addresse der funktion hast, könntest du es mal mit search for -> Comand versuchen und dann

    call [i]address[/i]
    

    vielleicht hast du da ja glück und findest etwas.

    Andernfalls könntest du auch gleich zu begin der Funktion (Addresse ist ja bekannt) einen Breakpoint setzen. Wenn Olly nun den Breakpoint erreicht, steht die Rücksprungaddresse auf dem Stack. Damit hast du dann allerdings keine Liste, von wo die Funktion aufgerufen wird.


Anmelden zum Antworten