破解之脫殼練習

2022-05-26 11:06:13 字數 949 閱讀 9777

0x01    初體驗

作業一:??(od入口和區段都很迷)  exeinfo下介面顯示 upx

作業二:e語言  (介面顯示是:nspack(我也不知道這是什麼))  exeinfo區段資訊沒什麼用,都被修改過了

作業三:vmp   

問題:od怎麼看區段資訊.....介面稍有點複雜

要了解win32api

0x02      再分析

作業一:

故可以確定為是upx殼

(2)  手脫upx殼

★ 新知識   esp定律

esp定律從我理解來說,就是程式開始時有個pushad指令來儲存所有暫存器狀態,pushad指令就像是大括號,有push就有pop,兩者共同的特點就是修改了esp暫存器的值,所以我們需要在被修改的值上下硬體斷點,來找到pop指令的位置,找到pop後就離原本的程式oep不遠了

第一條指令就是pushad,這顯然不是普通程式應該有的第一條指令,pushad儲存當前的上下文,即把暫存器的值存到堆疊中。

pushad後,可以看到堆疊中的內容正是之前的各個暫存器的值,其中棧頂儲存的是edi的值。棧頂的位址儲存在esp中。如果程式要正常執行,必定要從棧中取回這些值,因此可以到棧頂的內容表示的位址去看看會進行什麼操作。

練習鏈結,感興趣自取。

脫殼破解追蹤註冊碼

脫殼破解追蹤註冊碼 設定大師2008 這是我們今天的目標 首先我們查殼,我們用peid查殼。我們現在來脫掉這個aspack 2.12殼 我們用定律法來脫borland delphi 6.0 7.0好了成功脫殼了。然後追蹤註冊碼 查詢關鍵字 我們關鍵字找到了 按下f2讓程式斷下來 再執行下 設定大師2...

學習 脫殼之SFX尋找OEP

sfx ollydebug是程式自帶的調式功能,用來尋找相應的oep 使用注意 sfx使用的範圍是當程式載入od之後,入口點必須是 段之外才可以用,如下,所以當引導程式的時候入口點必須00401000 00402000之外才可以使用sfx 第一種方法使用 塊方式跟蹤真正入口點 設定完紅標處直接執行f...

學習 脫殼之Anti Dump和修復PE

文章繼 發現轉儲之後,然後修復iat發現依然是打不開的,原因是殼有反脫殼的檢測 把修復完iat的程式繼續載入,f8跟隨,發現jmp的區段已經不存在了 我們再看下原程式的ac區段,發現是存在的,所以我們需要把這個原程式中的ac區段拷貝乙份,在脫殼後的程式中進行填充 然後填充到脫殼後的程式中 因為是直接...