其實
逆向工程我超級不熟
玩到現在也只能解非常基礎的題目
所以請大家參考大大的文章
https://speakerdeck.com/aaaddress1/linux-pwn-101?slide=85
神一般的大大介紹
我看了N遍才慢慢的理解這東西
先看看今天的題目
有個檔案
下載之後打開發現他是組合語言QQ
回頭看看題目
他告訴我們他丟了兩個參數進一個function
希望我們告訴他return什麼
首先我們要先知道
一個function開始在執行的時候
會把參數由右到左開始放進堆疊理
所以一開始應該會長這樣
接著下一步 mov ebp,esp
代表他將esp的內容
送進ebp裡面
那esp是指下一個要存取的位置
所以執行之後會變成這樣
最後mov esp,ebp的時候
他會再把指標移回去ebp身上
再使用pop之後就會把ebp的下面一個東西彈出堆疊
就是我們在function裡面使用return後回傳的值
也就是d8
那這題的答案他要我們連0x一起輸入
所以flag就是0xd8
如果內容有講錯請各位大大不吝指教
逆向對我來說還是好難理解阿