0
Q
幀指針+返回地址
A
回答
2
這在很大程度上取決於架構,編譯器等
嘗試dissasembling一些玩具程序,並找出(見objdump在linux)
1
寄信人地址是在EBP + 4,但是你不能像緩衝區溢出一樣使用它,因爲你還沒有控制執行流。
你應該尋找的是從緩衝區返回地址的距離。這對於每個漏洞都是獨一無二的,任何陷入其中的內容都需要預測,否則您很可能會導致該進程轉儲。
相關問題
- 1. 幀指針,EPB,並返回地址
- 2. 指針不會返回指定地址
- 3. 將本地指針變量的地址返回給main()函數
- 4. delphi指針地址
- 5. 指針和地址
- 6. 返回一個函數改變指針地址,地址保持不變
- 7. main的堆棧幀是否有保存的幀指針和保存的返回地址?
- 8. 方法返回相同的指針地址?
- 9. 在返回地址之前取消指針
- 10. 彙編:返回64位指針地址(nasm unix x64)
- 11. 爲什麼指針地址在返回時改變?
- 12. .Net C#ReadProcessMemory指針函數向後返回地址
- 13. 指針不工作返回地址不珍惜
- 14. 從緩衝區指針計算堆棧中的返回地址
- 15. 指針和地址,該指針導致
- 16. 指針參數:返回指針或指針傳遞的地址的工作原理
- 17. 返回地址
- 18. 返回指針C
- 19. 返回指針Ç
- 20. 返回alloca指針
- 21. C++返回指針
- 22. 返回類指針
- 23. 指針與返回
- 24. 打印指針地址
- 25. C指針和地址
- 26. 獲取指針的地址
- 27. 指針運算和地址
- 28. 指針變量的地址
- 29. intptr的指針地址
- 30. 數組指針的地址
這對我來說沒有多大意義。根據我的經驗,幀指針寄存器是某種類型的堆棧指針的偏移量,而返回地址位於代碼空間中。罕見的情況是代碼和堆棧空間混合在一起。你想在這裏完成什麼? – 2010-10-04 17:40:00
@Michael我認爲他的意思是,堆棧上的偏移量(相對於幀指針)在哪裏返回地址*存儲*? (不過,我同意你對「你想要完成什麼」)。 – 2010-10-04 17:52:29