[MASM][無用但又超實用]採集當下指令的地址.(8086)

這鬼東西看起來超沒用,但是它當你要用的時候真的還蠻實用的XD

fldz//想要取得地址的地方
push 00
push 00
push 00
push 00
push 00//以上,保護堆疊
fstenv [esp-0x0C] //這個指令將會修改5個Stack
pop eax//[esp+00] = 下fldz的點的地址
add esp,0x10//共有5個堆疊要推出(但pop eax用掉一個)

主要核心就是fldz做採集地址
然後靠fstenv做寫入堆疊動作 紀錄資料

2015/2/9:
感謝木棍提供一個蠻漂亮的方式XD
db 0xE8, 0x00, 0x00, 0x00, 0x00//call Offset=0,那麼就會呼叫下面的位置
pop eax//eax = 目前這個位置的地址.( [esp] = 目前的eip )

留言

這個網誌中的熱門文章

[C#] Lambda花式應用噁爛寫法(跨UI委派秒幹、多線程處理...etc)

[Windows] 逆向工程 C++ 中入口函數參數 main(argc, argv) 與如何正確的進行參數劫持

重建天堂之門:從 32 位元地獄一路打回天堂聖地(上)深度逆向工程 WOW64 設計