手撕FSG2.0壳(有坑点)
生活随笔
收集整理的這篇文章主要介紹了
手撕FSG2.0壳(有坑点)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 聲明
- 單步跟蹤
- 第一個js
- 第二個jnz
- 第三個jmp(跳往OEP處)
- ESP定律
- 執(zhí)行到特定位置
- Dump數(shù)據(jù)區(qū)
- 設(shè)置硬件訪問斷點
- FSG2.0專屬搞法
- 執(zhí)行完pop語句后
- follow in Disassembler
- 設(shè)置硬件執(zhí)行斷點
聲明
記住起始ESP值 0x18FF8C
單步跟蹤
還是那句話,向下跳轉(zhuǎn)執(zhí)行,向上跳轉(zhuǎn)直接F4
。前面看過我單步執(zhí)行的都能運行到下圖這里
這里得注意了,有三個跳轉(zhuǎn)。。這就是FSG殼的坑點處
第一個js
向上跳的,不執(zhí)行的,直接看第二個jnz。
第二個jnz
它直接跳過了下一個jump指令。。這就是坑點。。(因為第三個jump就是跳往OEP處),千萬不能執(zhí)行這個指令,很多操作,直接F4,或者直接改動標(biāo)志寄存器讓這個條件跳轉(zhuǎn)不成立即可。
第三個jmp(跳往OEP處)
OEP處,ESP值 0x18FF8C,找到OEP,直接dump即可,不要怕看不見,脫殼后再次載入就能看見了,而且和未加殼時一模一樣
脫殼后:
ESP定律
執(zhí)行到特定位置
Dump數(shù)據(jù)區(qū)
設(shè)置硬件訪問斷點
然后運行就到達(dá)了這里:
緊接著單步跟蹤,注意三跳轉(zhuǎn)坑即可
最后記得刪除硬件訪問斷點。
FSG2.0專屬搞法
執(zhí)行完pop語句后
觀察棧中第四個參數(shù)。它就是OEP的地址,即0x401686
follow in Disassembler
設(shè)置硬件執(zhí)行斷點
然后執(zhí)行后
然后dump即可
總結(jié)
以上是生活随笔為你收集整理的手撕FSG2.0壳(有坑点)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手撕Nspack3.7(北斗)壳
- 下一篇: PECompact3.0