這是我的ASM功能代碼:ASM調用指令會導致堆棧溢出?
PUSH EBP
MOV EBP, ESP
SUB ESP, 8
CALL 00401E20
LEAVE
RETN
有在0x00401E20
一個函數,它不帶任何參數,並且不返回任何值。哪個是調用函數的正確方法?
OllyDbg說「堆棧溢出」並評論第4行。對不起,我是ASM的新手,有什麼想法?
在此先感謝。
這是我的ASM功能代碼:ASM調用指令會導致堆棧溢出?
PUSH EBP
MOV EBP, ESP
SUB ESP, 8
CALL 00401E20
LEAVE
RETN
有在0x00401E20
一個函數,它不帶任何參數,並且不返回任何值。哪個是調用函數的正確方法?
OllyDbg說「堆棧溢出」並評論第4行。對不起,我是ASM的新手,有什麼想法?
在此先感謝。
也許你應該在離開和返回之前嘗試POP。
試試這個:
PUSH EBP
MOV EBP, ESP
SUB ESP, 8
CALL 00401E20
MOV ESP, EBP
POP EBP
LEAVE
RETN
+1這當然是一個問題。 – karlphillip
謝謝,但它不起作用:-(更具體地說,OllyDbg評論說:'CALL DWORD PTR DS:[1000A000]'。任何其他想法? – cdonts
00401E20函數中的代碼是什麼? –
你需要**步入**該功能,看看什麼是真正導致崩潰。 – karlphillip
感謝您的評論。我怎樣才能做到這一點?請查看下面我的評論,這是導致我認爲崩潰的原因。 – cdonts
你的問題似乎是*如何使用ollydbg *,並且網上有很多教程。請記住,**步驟**和**步驟**之間存在差異(快捷鍵:F7)。 – karlphillip