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

運行程序,crashedL。直接用修復完stolen code的dumped_.exe看看。從EP的第1個call進去就有問題。
在OllyDbg中可以看到:
有部分IAT在殼中。這部分代碼前面是跟到了的(在第6次int 3以后),原來認為這只是loader自己需要的API。實際上
開始打算寫個inline-patch:
用同樣的查表動作,把對應的變形碼copy出來,得到對應的API地址,與跳過加密而得到的干凈IAT對比。查到匹配值后,修改對應的opcode,使其直接call到IAT中的地址。
用OllyScript腳本跳過IAT加密,得不到變形碼(此時從變形碼地址表中得到的就是API的真正地址,有46項指針無效,為0xCCCCCCCC)。
另一個問題卻是難以解決的,replaced code只有5字節(jié):

這里的call是0xE8,調用殼中的絕對地址。InlinePatch寫到一定程度才發(fā)現(xiàn),如果要修復代碼,使其調用到IAT,需要相對地址調用6 bytesL。真是個低級錯誤。
現(xiàn)在patch的結果:

真正需要的是:

這樣只有保留變形碼。把殼中對應的代碼copy過來,OEP前生成正確的變形碼。而且脫殼后的程序不能直接看到API名字,很不舒服。
只好把殼的相應代碼搬過來。再次修改dumped_.exe入口處代碼,在把loader空間中的IAT填好后,跳到處理變形碼的位置:

loader在處理IAT時需要調用幾個API,及判斷dll的映射地址、API地址等,先保存需要的數(shù)據(jù)(我們有干凈的IATJ):

由于在前面避開了IAT加密,生成變形碼需要的數(shù)據(jù)已經(jīng)被正確的API地址覆蓋了。用LoadPE把ACProtect的idata section存到文件,然后加到dumped_.exe。

把這個section的密文數(shù)據(jù)copy到dumped_.exe的idata section,覆蓋掉干凈的IAT,我們已經(jīng)不需要它了。現(xiàn)在只要偽造好現(xiàn)場J。

往下執(zhí)行l(wèi)oader的IAT處理代碼,做幾處小小的修改,使其使用剛才保存的API地址等數(shù)據(jù)。

IAT及變形碼處理結束后回到OEP。

執(zhí)行。又掛了L。這次是內存訪問異常。跟一跟可以知道,是在Hooked MessageBoxA中。這里面的代碼還沒有仔細看,有幾個switch-case分枝。第1次eax為5。

進去后有幾個查表動作:

用調用Hooked MessageBoxA的返回地址查表。這張表在721F25處,dumped_.exe中有,共21項。
注意查表時不是找相等值,而是找大于返回地址值且最接近的值。

繼續(xù)->

這里出現(xiàn)了另外2張表。7220B5的表中數(shù)據(jù)為size。Dumped_.exe中有:

問題出在第3張表:

dump出的數(shù)據(jù)為0。這段代碼要把主程序中的一段數(shù)據(jù)copy到這張表中數(shù)據(jù)所指的地址。在loader中執(zhí)行時,這里填入了指向動態(tài)分配內存的指針。

顯然不能直接復制這些值。有個簡單的辦法可以騙過loader。從那張size表中可以看到,最大的數(shù)據(jù)FD5D。用LoadPE再次增加1個section,size為FFFF即可。

修改dumped_.exe,設置21項數(shù)據(jù),使其全部指向該地址。

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