ACProtect Professional 1.3C 主程序脫殼(1)(圖)
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 19:01:32 作者:佚名
我要評論

脫殼過程感覺與Unpacking Saga的那個UnpackMe沒有太大的不同。最明顯的一點是,其中的異常多了很多。大部分是固定模式的int 3解碼。因為一開始打算全程跟,所以一邊跟一邊修改去除junk code的IDC script,寫OllyScript腳本,并用WinHex把解出的代碼貼到ACProtect_Fixed.exe,在
脫殼過程感覺與Unpacking Saga的那個UnpackMe沒有太大的不同。最明顯的一點是,其中的異常多了很多。大部分是固定模式的int 3解碼。因為一開始打算全程跟,所以一邊跟一邊修改去除junk code的IDC script,寫OllyScript腳本,并用WinHex把解出的代碼貼到ACProtect_Fixed.exe,在IDA中用Load File|Reload the input file加載后對照。
如果在OllyDbg110C下忽略所有異常,運行時報:
1. 關(guān)于int 3解碼
殼中有大量的int 3解碼,一邊執(zhí)行一邊解。具有相同的調(diào)用模式:
在int 3的SHE中(下面的div 0異常也是同一個SEH),當(dāng)exception code為0x80000003時,在Dr0-Dr3中設(shè)置了新的值,即設(shè)置了4個硬件執(zhí)行斷點,就在緊臨int 3下面的位置。這樣執(zhí)行到這4句,會觸發(fā)4次異常。如果在這里F7過,SHE不會執(zhí)行。
當(dāng)由上面的4個斷點引發(fā)異常時:
每次異常,會設(shè)置某個寄存器。4次異常處理必須執(zhí)行,否則寄存器中沒有正確值,下面的解碼會失敗。這樣又順便清除cracker的斷點,是個不錯的主意J。
結(jié)束異常處理后,開始解碼。格式是一樣的,用的register不同。這里可以得到起始地址(。
在jnz下面的地址F4,然后查看前面用于尋址的寄存器的值,減1就是解碼結(jié)束地址。
解完后跟著一個div 0異常。只有anti-debug作用,直接跳過即可。
2. 避開IAT加密
在第16個int 3的解碼過程中,隱藏了IAT加密。其實在OllyDbg的狀態(tài)欄可以看到這附近有不少dll被加載了。
有4處檢查,決定是否特殊處理。在用GetProcAddress得到API的地址后,開始檢查。是否為特殊的API?
如果在OllyDbg110C下忽略所有異常,運行時報:

1. 關(guān)于int 3解碼
殼中有大量的int 3解碼,一邊執(zhí)行一邊解。具有相同的調(diào)用模式:

在int 3的SHE中(下面的div 0異常也是同一個SEH),當(dāng)exception code為0x80000003時,在Dr0-Dr3中設(shè)置了新的值,即設(shè)置了4個硬件執(zhí)行斷點,就在緊臨int 3下面的位置。這樣執(zhí)行到這4句,會觸發(fā)4次異常。如果在這里F7過,SHE不會執(zhí)行。

當(dāng)由上面的4個斷點引發(fā)異常時:

每次異常,會設(shè)置某個寄存器。4次異常處理必須執(zhí)行,否則寄存器中沒有正確值,下面的解碼會失敗。這樣又順便清除cracker的斷點,是個不錯的主意J。

結(jié)束異常處理后,開始解碼。格式是一樣的,用的register不同。這里可以得到起始地址(。

在jnz下面的地址F4,然后查看前面用于尋址的寄存器的值,減1就是解碼結(jié)束地址。

解完后跟著一個div 0異常。只有anti-debug作用,直接跳過即可。
2. 避開IAT加密
在第16個int 3的解碼過程中,隱藏了IAT加密。其實在OllyDbg的狀態(tài)欄可以看到這附近有不少dll被加載了。

有4處檢查,決定是否特殊處理。在用GetProcAddress得到API的地址后,開始檢查。是否為特殊的API?

相關(guān)文章
- “CMOS密碼”就是通常所說的“開機密碼”,主要是為了防止別人使用自已的計算機,設(shè)置的一個屏障2023-08-01
QQScreenShot之逆向并提取QQ截圖--OCR和其他功能
上一篇文章逆向并提取QQ截圖沒有提取OCR功能, 再次逆向我發(fā)現(xiàn)是可以本地調(diào)用QQ的OCR的,但翻譯按鈕確實沒啥用, 于是Patch了翻譯按鈕事件, 改為了將截圖用百度以圖搜圖搜索.2023-02-04- QQ截圖是我用過的最好用的截圖工具, 由于基本不在電腦上登QQ了, 于是就想將其提取出獨立版目前除了屏幕錄制功能其他都逆出來了, 在此分享一下2023-02-04
非系統(tǒng)分區(qū)使用BitLocker加密導(dǎo)致軟件無法安裝的解決方法
很多電腦用戶在考慮自己電腦磁盤分區(qū)安全時會采用 Windows 自帶的 BitLocker 加密工具對電腦磁盤分區(qū)進(jìn)行加密。但有些人加密后就會忘記自己設(shè)置的密碼從而導(dǎo)致在安裝其它軟2020-11-25防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生
這篇文章為大家詳細(xì)介紹了如何才能防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-27徹底防止計算機泄密、重要涉密人員離職泄密、涉密人員離崗離職前防范舉
近些年企業(yè)商業(yè)機密泄漏的事件屢有發(fā)生,這篇文章主要教大家如何徹底防止計算機泄密、重要涉密人員離職泄密、告訴大家涉密人員離崗離職前的防范舉措,具有一定的參考價值,2017-06-27- 最近有電腦用戶反應(yīng)量子計算機可以破解下載的所有的加密算法嗎?其實也不是不可以,下面虛擬就為大家講解買臺量子計算機,如何分分鐘破解加密算法2016-09-26
怎么破解Webshell密碼 Burpsuite破解Webshell密碼圖文教程
webshell是以asp、php、jsp或者cgi等網(wǎng)頁文件形式存在的一種命令執(zhí)行環(huán)境,一種網(wǎng)頁后門。黑客通常會通過它控制別人網(wǎng)絡(luò)服務(wù)器,那么怎么破解webshell密碼呢?一起來看看吧2016-09-19- 本文討論了針對Linux系統(tǒng)全盤加密的冷啟動攻擊,大家都認(rèn)為這種攻擊是可行的,但執(zhí)行這么一次攻擊有多難?攻擊的可行性有多少呢?需要的朋友可以參考下2015-12-28
防止泄露公司機密、企業(yè)數(shù)據(jù)防泄密軟件排名、電腦文件加密軟件排行
面對日漸嚴(yán)重的內(nèi)部泄密事件,我們?nèi)绾问刈o(hù)企業(yè)的核心信息,如何防止內(nèi)部泄密也就成了擺在各個企業(yè)領(lǐng)導(dǎo)面前的一大問題。其實,針對內(nèi)網(wǎng)安全,防止內(nèi)部信息泄漏早已有了比較2015-12-17