最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ACProtect Professional 1.3C 主程序脫殼(3)(圖)

互聯(lián)網(wǎng)   發(fā)布時間:2008-10-08 19:05:26   作者:佚名   我要評論
運行程序,crashedL。直接用修復(fù)完stolen code的dumped_.exe看看。從EP的第1個call進去就有問題。 在OllyDbg中可以看到: 有部分IAT在殼中。這部分代碼前面是跟到了的(在第6次int 3以后),原來認為這只是loader自己需要的API。實際上

運行程序,crashedL。直接用修復(fù)完stolen code的dumped_.exe看看。從EP的第1個call進去就有問題。







在OllyDbg中可以看到:


有部分IAT在殼中。這部分代碼前面是跟到了的(在第6次int 3以后),原來認為這只是loader自己需要的API。實際上正常的程序代碼也使用了這個IAT。

如果用ImportRec把這部分也取出來,屬于不同dll的api混排了,ImportRec不能處理。
這些地址是在736643處理的。


而且有一個不能識別(這個實際上是Hooked MessageBoxA)。



估計這是加殼時做的手腳。當(dāng)發(fā)現(xiàn)主程序使用了與殼代碼同樣的API時,修改了對應(yīng)的調(diào)用代碼,使其調(diào)用到殼中的IAT。這樣可以加強與殼的聯(lián)系。反過來看,這里大部分API(除了只有殼使用的),在前面避開IAT加密處理后,都已經(jīng)import了。

在ACProtect_Fixed中已經(jīng)有解好的api名。


緊臨的函數(shù)指針:



注意函數(shù)名及指針與7339A9附近的代碼并不完全對應(yīng)。有的函數(shù)名或指針在別處。

可以在程序入口自己調(diào)用LoadLibrary,GetProcAddress進行處理,填入相應(yīng)的地址?;蛘甙袻oader的代碼搬過來。也可以修改主程序的代碼,使其調(diào)用前面得到的干凈的IAT而不是殼中的IAT(這樣要處理的地方太多,很麻煩)。

注意ACProtected_Fixed中,import了幾個基本的API:

在加載API時殼代碼會使用這些函數(shù)。這幾個地址直接填入007300D8開始的IAT中了。修改dumped_.exe的EP,從殼代碼開始(可以看到dump出來的代碼,這部分已經(jīng)解開了),





注意Loader代碼中用的幾個API(GetModuleHandleA,GetProcAddress)改為使用避開IAT加密后得到的主程序的IAT。


原來在殼代碼import的4個API,從主程序的IAT直接取。結(jié)束處理后跳回前面的OEP 409DE4。用pushad,pushad保存寄存器值。



注意最后一項7301CC實際是MessageBoxA,被ACProtect用做SDK的接口。 不要填入MessageBox的真正地址。

下面的73013C在跟原程序的過程中始終為0,可能是注冊版才有?


處理完后,位于殼空間的IAT已經(jīng)賦上了正確值。


7. 修復(fù)Replaced code (1)

用前面的OllyScript腳本,停下后對Code section設(shè)內(nèi)存訪問斷點。忽略所有異常。斷下后,在抽取代碼的共同入口722416設(shè)斷,運行。第1次調(diào)用在004047E5。


里面還有SMC,解出后貼到ACProtect_Fixed中對照跟蹤。這部分的處理與低版本基本相同。

1) 查返回地址表



7225CC后ebx指向返回地址表,里面是RVA:


相關(guān)文章

最新評論

沙坪坝区| 弥勒县| 乌苏市| 太仆寺旗| 兰考县| 城固县| 二连浩特市| 体育| 霍山县| 樟树市| 永州市| 拜城县| 泗水县| 南昌县| 墨竹工卡县| 普兰店市| 奉新县| 巴中市| 洪湖市| 疏勒县| 徐州市| 定日县| 玛多县| 岱山县| 乌拉特中旗| 祁连县| 呼玛县| 延庆县| 海晏县| 彝良县| 深州市| 舒城县| 富民县| 勐海县| 巨野县| 镇原县| 东方市| 洛川县| 米林县| 晋江市| 会东县|