逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
生活随笔
收集整理的這篇文章主要介紹了
逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
還是上一次的abex' crackme #1,我們用OD附加看一下。
我們發現在調用這個MessageBox函數的時候,用了4個PUSH指令,我們在后面的注釋中可以清楚的看到壓入參數的內容。
如果我們將它還原成C語言的形式,是這樣的:
我們可以清楚的看到匯編代碼中壓入參數的順序和我們寫代碼時候的順序恰恰是相反的。
這是因為棧內存結構先入后出的原則,如果要想讓C代碼中的參數正序彈出來,就必須匯編中逆序壓進去。
此時,我們可以試著查看一下棧頂指針ESP的變化。
此時右邊寄存器區域ESP:0019FF84
然后我們按F8,一直到第一個call.
此時ESP為0019FF74
相減相差0x10.??? 十進制相差16.
總結
以上是生活随笔為你收集整理的逆向工程核心原理学习笔记(十三):分析abex' crackme #1 的延伸:将参数压入栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逆向工程核心原理学习笔记(十二):分析a
- 下一篇: 逆向工程核心原理学习笔记(十四):栈帧1