菜鳥學脫殼

2021-03-31 21:58:13 字數 903 閱讀 1309

一般舊版upx脫殼

說明: upx典型的入口pushad,對應出口popad,一般都要經過jmp跨段跳躍到達程式的真正入口。

工具: ollydbg v1.10 

方法1:逐步跟蹤,f8一直往前走,不讓程式往回走,想往回就f4跳過,直到遇到popad後邊跟

乙個跨段跳躍(就是跳的很遠)的jmp,期間可能有多次跟飛的情況,此時,只好再從頭

來過.注意要記下跟飛的位址,到這些位址時f4跳過。找到jmp後的位址,dump之即可。

方法2:下api斷點,有兩個常用的api斷點:loadlibrarya,getprocaddress,在開始逐步跟蹤的過程中

如果發現解釋欄有kernel32.loadlibrarya或者kernel32.getprocaddress(優先下斷點),

直接在這裡下斷(命令列 bp  apiname),f9執行到斷點,f2取消斷點,ctrl+f9執行程式到

返回,此時距程式入口點就不遠了,附近一定有個popad跟著乙個跨段跳躍f8步進到popad

後邊的jmp就跳到程式的真正入口點,dump之即可.

方法3: 直接找popad,前提是你知道殼的特點,ctrl+f尋找popad,在找到的位址處f2下斷點,f9執行

到斷點,f2取消斷點,後邊的跨段跳躍直接指向程式的真正入口,f8到入口,dump之即可。

方法4:esp定律,引導程式後,f8單步執行對應暫存器esp的第乙個變化值,右擊esp暫存器,選擇

在轉存中跟隨(對應的命令列:d esp值),找到對應記憶體位址的數值,右鍵選斷點,硬體

訪問word,寫入硬體斷點。f9執行程式到斷點,除錯中找到剛才下的斷點,刪除斷點,f8

直接到程式的真正入口,dump之即可。                   

後記: dump後有可能無法執行,要用recimport修復。

逗你玩學脫殼 一

這不是脫殼入門的文章,只是記錄了我學脫殼破解的歷程,我會盡量寫得很像教程,但不會詳細的解釋各個部分,只有大牛才會寫教程,我只能寫歷程 一直想學破解 逆向,因為平時老遇到需要用的地方,比如寫jdrcom的時候就要逆向官方客戶端看他的協議,dr.com協議是不會開源的,商業的東西都是拼命保護,怎麼會讓你...

Linux菜鳥開始學

在linux中,分割槽是這樣表示的 dev hda dev hda1 dev hda2 dev hda5 dev sdb1 以 dev hda5 為例 因為在linux中,每乙個裝置都是用 dev 資料夾下的乙個檔案來表示,所以 dev hda5 中,dev 表示的是根目錄下的dev目錄,我們來看剩...

菜鳥學PureMVC記

最近工作中需要用到flash,開發框架中又是以puremvc為主。mvc是有了解,但是puremvc這個之前則是從沒接觸過。那就學唄 字樣。其中的大概做法,就是解壓,然後將 puremvc as3 2 0 4.swc 新增到專案的庫中。因為,我用的是flashdevelop,所以新增方法如下 選中專...