ACProtect Professional 1.3C 主程序脫殼(3)(圖)
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-08 19:05:26 作者:佚名
我要評論
運(yùn)行程序,crashedL。直接用修復(fù)完stolen code的dumped_.exe看看。從EP的第1個(gè)call進(jìn)去就有問題。
在OllyDbg中可以看到:
有部分IAT在殼中。這部分代碼前面是跟到了的(在第6次int 3以后),原來認(rèn)為這只是loader自己需要的API。實(shí)際上
運(yùn)行程序,crashedL。直接用修復(fù)完stolen code的dumped_.exe看看。從EP的第1個(gè)call進(jìn)去就有問題。
在OllyDbg中可以看到:
有部分IAT在殼中。這部分代碼前面是跟到了的(在第6次int 3以后),原來認(rèn)為這只是loader自己需要的API。實(shí)際上正常的程序代碼也使用了這個(gè)IAT。
如果用ImportRec把這部分也取出來,屬于不同dll的api混排了,ImportRec不能處理。
這些地址是在736643處理的。
而且有一個(gè)不能識別(這個(gè)實(shí)際上是Hooked MessageBoxA)。
估計(jì)這是加殼時(shí)做的手腳。當(dāng)發(fā)現(xiàn)主程序使用了與殼代碼同樣的API時(shí),修改了對應(yīng)的調(diào)用代碼,使其調(diào)用到殼中的IAT。這樣可以加強(qiáng)與殼的聯(lián)系。反過來看,這里大部分API(除了只有殼使用的),在前面避開IAT加密處理后,都已經(jīng)import了。
在ACProtect_Fixed中已經(jīng)有解好的api名。
緊臨的函數(shù)指針:
注意函數(shù)名及指針與7339A9附近的代碼并不完全對應(yīng)。有的函數(shù)名或指針在別處。
可以在程序入口自己調(diào)用LoadLibrary,GetProcAddress進(jìn)行處理,填入相應(yīng)的地址?;蛘甙袻oader的代碼搬過來。也可以修改主程序的代碼,使其調(diào)用前面得到的干凈的IAT而不是殼中的IAT(這樣要處理的地方太多,很麻煩)。
注意ACProtected_Fixed中,import了幾個(gè)基本的API:
在加載API時(shí)殼代碼會使用這些函數(shù)。這幾個(gè)地址直接填入007300D8開始的IAT中了。修改dumped_.exe的EP,從殼代碼開始(可以看到dump出來的代碼,這部分已經(jīng)解開了),
注意Loader代碼中用的幾個(gè)API(GetModuleHandleA,GetProcAddress)改為使用避開IAT加密后得到的主程序的IAT。
原來在殼代碼import的4個(gè)API,從主程序的IAT直接取。結(jié)束處理后跳回前面的OEP 409DE4。用pushad,pushad保存寄存器值。
注意最后一項(xiàng)7301CC實(shí)際是MessageBoxA,被ACProtect用做SDK的接口。 不要填入MessageBox的真正地址。
下面的73013C在跟原程序的過程中始終為0,可能是注冊版才有?
處理完后,位于殼空間的IAT已經(jīng)賦上了正確值。
7. 修復(fù)Replaced code (1)
用前面的OllyScript腳本,停下后對Code section設(shè)內(nèi)存訪問斷點(diǎn)。忽略所有異常。斷下后,在抽取代碼的共同入口722416設(shè)斷,運(yùn)行。第1次調(diào)用在004047E5。
里面還有SMC,解出后貼到ACProtect_Fixed中對照跟蹤。這部分的處理與低版本基本相同。
1) 查返回地址表
7225CC后ebx指向返回地址表,里面是RVA:
相關(guān)文章
- “CMOS密碼”就是通常所說的“開機(jī)密碼”,主要是為了防止別人使用自已的計(jì)算機(jī),設(shè)置的一個(gè)屏障2023-08-01

QQScreenShot之逆向并提取QQ截圖--OCR和其他功能
上一篇文章逆向并提取QQ截圖沒有提取OCR功能, 再次逆向我發(fā)現(xiàn)是可以本地調(diào)用QQ的OCR的,但翻譯按鈕確實(shí)沒啥用, 于是Patch了翻譯按鈕事件, 改為了將截圖用百度以圖搜圖搜索.2023-02-04
QQ截圖是我用過的最好用的截圖工具, 由于基本不在電腦上登QQ了, 于是就想將其提取出獨(dú)立版目前除了屏幕錄制功能其他都逆出來了, 在此分享一下2023-02-04
非系統(tǒng)分區(qū)使用BitLocker加密導(dǎo)致軟件無法安裝的解決方法
很多電腦用戶在考慮自己電腦磁盤分區(qū)安全時(shí)會采用 Windows 自帶的 BitLocker 加密工具對電腦磁盤分區(qū)進(jìn)行加密。但有些人加密后就會忘記自己設(shè)置的密碼從而導(dǎo)致在安裝其它軟2020-11-25
防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生
這篇文章為大家詳細(xì)介紹了如何才能防止離職員工帶走客戶、防止內(nèi)部員工泄密、避免華為員工泄密事件的發(fā)生,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-27
徹底防止計(jì)算機(jī)泄密、重要涉密人員離職泄密、涉密人員離崗離職前防范舉
近些年企業(yè)商業(yè)機(jī)密泄漏的事件屢有發(fā)生,這篇文章主要教大家如何徹底防止計(jì)算機(jī)泄密、重要涉密人員離職泄密、告訴大家涉密人員離崗離職前的防范舉措,具有一定的參考價(jià)值,2017-06-27量子計(jì)算機(jī)輕松破解加密算法 如何破解加密算法?
最近有電腦用戶反應(yīng)量子計(jì)算機(jī)可以破解下載的所有的加密算法嗎?其實(shí)也不是不可以,下面虛擬就為大家講解買臺量子計(jì)算機(jī),如何分分鐘破解加密算法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
防止泄露公司機(jī)密、企業(yè)數(shù)據(jù)防泄密軟件排名、電腦文件加密軟件排行
面對日漸嚴(yán)重的內(nèi)部泄密事件,我們?nèi)绾问刈o(hù)企業(yè)的核心信息,如何防止內(nèi)部泄密也就成了擺在各個(gè)企業(yè)領(lǐng)導(dǎo)面前的一大問題。其實(shí),針對內(nèi)網(wǎng)安全,防止內(nèi)部信息泄漏早已有了比較2015-12-17






