資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡安全教程|rigasin.com|我的開發(fā)技術隨記

標題: 發(fā)包里面的esp問題 [打印本頁]

作者: keyyan    時間: 2021-4-5 22:50
標題: 發(fā)包里面的esp問題
(, 下載次數(shù): 138)

咨詢問題在第三課的11分10秒處,


lea eax    esp+28    老師根據(jù)WSASend函數(shù)有7個函數(shù),扣掉下方2個,還剩5個參數(shù)。5個參數(shù)就是14,所以老師推斷出[esp+14]這個地方就是包長  [esp+18]是包地址


esp+28這個地方是緩沖區(qū)地址,[esp+28]這個地方不就是包長  [esp+2C]包地址。。。。為什么老師能得到+14這個推斷,實在想象不出

作者: kaining    時間: 2021-4-5 22:50
這個esp不是根據(jù)上面有幾個push決定的 我們知道WSASend 總共有7個參數(shù) 也就是7個push  然后我們pBuff是第二個參數(shù) 當時這個為esp+28 == pbufff 這里在網(wǎng)上就還有5個參數(shù) 也就是上面還需要減去0x-14 也就是pBuff == esp+0x14 了對吧
這時候 我們藥知道pBuff里面存放的是什么  【一個指向WSABUF結構數(shù)組的指針。每個WSABUF結構包含緩沖區(qū)的指針和緩沖區(qū)的大小】  前四個字節(jié) 為這個包的包長 我們又知道首地址也就是自己 也就是說 前4個字節(jié) 就是 esp+0x14 即包長 包長后面跟的就是包內容
包長為4  那么我們在在包長上面+4就是包地址 也就是 esp+0x18
作者: keyyan    時間: 2021-4-7 22:21
標題: 謝謝老師
本帖最后由 keyyan 于 2021-4-7 22:24 編輯
kaining 發(fā)表于 2021-4-6 21:19
這個esp不是根據(jù)上面有幾個push決定的 我們知道WSASend 總共有7個參數(shù) 也就是7個push  然后我們pBuff是第二 ...

明白了,謝謝老師,esp一直是棧頂,我搞錯了
作者: Kern    時間: 2021-4-11 16:38
keyyan 發(fā)表于 2021-4-7 22:21
明白了,謝謝老師,esp一直是棧頂,我搞錯了

我和你有一樣的疑問,我得再反應一會
作者: Kern    時間: 2021-4-11 17:40
迷糊過來了,esp每push一次 都往上+0x4,且一直為棧頂




歡迎光臨 資源共享吧|易語言論壇|逆向破解教程|輔助開發(fā)教程|網(wǎng)絡安全教程|rigasin.com|我的開發(fā)技術隨記 (http://rigasin.com/) Powered by Discuz! X3.4