PECompact3.0
文章目錄
- 新套路(1)
- bp VirtualFree
- 執行到用戶代碼
- 最后,單步調試即可
- 新套路(2)
- bp VirtualFree
- 執行到用戶代碼
- 搜索push 8000(特征碼)
- 新套路(3)
- bp `0x3B6AB4`
- 然后再這個return 下一行下斷點
- 剩下的交給單步跟蹤即可
- 新套路(4)
- bp VirtualAlloc
- 執行到用戶代碼(Alt+F9)
- 向下拉,看到jmp后,直接設置斷點運行即可
- 新套路(5)(最后一次異常法)
- 第一次shift+F9
- 第二次shift+F9
- 總結:
- 第一次shift+F9
- 搜索,下斷
- 第一次斷
- 第二次斷
- 接著單步調試
- 兩次內存
- 第一次(.rsrc段)
- 第二次(.txt段(一般為1000))
- 然后下斷運行
- 接著單步向下跟蹤
新套路(1)
bp VirtualFree
在這里輸入bp VirtualFree ,緊接著回車,然后執行
執行到用戶代碼
執行后界面變成這樣,然后取消此處斷點。
緊接著執行到用戶代碼(Alt+F9)或者如下圖操作
最后,單步調試即可
記住到這里,
這個jmp eax是跳往OEP地址
這個方法感覺也就是借助VirtualFree作為一個踏板,跳到用戶代碼,剩下的單步調試就輕松多了
新套路(2)
bp VirtualFree
在這里輸入bp VirtualFree ,緊接著回車,然后執行
執行到用戶代碼
執行后界面變成這樣,然后取消此處斷點。
緊接著執行到用戶代碼(Alt+F9)或者如下圖操作
搜索push 8000(特征碼)
我試了一下,失敗了。。。可能3.0里面沒有。。。。本來想到push 8000查到后,然后直接向下跟蹤時會更快一點。。。但是沒法找到這個特征碼。。
新套路(3)
首先查看一下,這殼剛開始設置的SEH鏈的函數地址
一看就知道是0x3B6AB4,接下來一頓操作猛如虎
bp 0x3B6AB4
按下回車后,點擊運行,然后到達這里
然后再這個return 下一行下斷點
點擊運行(shift+F9)
剩下的交給單步跟蹤即可
新套路(4)
bp VirtualAlloc
按下回車,然后運行(shift +F9),運行后截圖
執行到用戶代碼(Alt+F9)
先取消斷點,然后執行到用戶代碼(Alt+F9)或者如下圖操作
向下拉,看到jmp后,直接設置斷點運行即可
找到第一個jmp后,然后單步往下調試,就能迅速找到跳轉到OEP 的代碼
新套路(5)(最后一次異常法)
利用最后一次異常直接跑飛,但前提的取消所有的異常
重新載入,記住是按了幾次運行(shift+F9)才讓程序運行起來的,利用最后一次的異常處理函數進行單步調試
第一次shift+F9
第二次shift+F9
總結:
兩次運行才把程序運行起來,所以我們運行一次后,利用棧中存放的SEH處理函數,接著往下單步調試
第一次shift+F9
觀察棧中,有一個SE handler,它就是異常處理函數的地址,直接找到它,然后下個斷點,單步往下調試
搜索,下斷
ctrl +G(搜索)
在異常處理函數下斷也行,或者一步直接在異常處理函數return后面下斷也行
第一次斷
第二次斷
接著單步調試
兩次內存
第一次(.rsrc段)
點擊運行
第二次(.txt段(一般為1000))
點擊運行,運行后截圖
然后下斷運行
點擊運行
接著單步向下跟蹤
總結
以上是生活随笔為你收集整理的PECompact3.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手撕FSG2.0壳(有坑点)
- 下一篇: HWS计划 decryption