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

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,調(diào)用殼中的絕對地址。InlinePatch寫到一定程度才發(fā)現(xiàn),如果要修復代碼,使其調(diào)用到IAT,需要相對地址調(diào)用6 bytesL。真是個低級錯誤。

現(xiàn)在patch的結(jié)果:


真正需要的是:



這樣只有保留變形碼。把殼中對應的代碼copy過來,OEP前生成正確的變形碼。而且脫殼后的程序不能直接看到API名字,很不舒服。

只好把殼的相應代碼搬過來。再次修改dumped_.exe入口處代碼,在把loader空間中的IAT填好后,跳到處理變形碼的位置:



loader在處理IAT時需要調(diào)用幾個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)不需要它了?,F(xiàn)在只要偽造好現(xiàn)場J。



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


IAT及變形碼處理結(jié)束后回到OEP。



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



進去后有幾個查表動作:



用調(diào)用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)分配內(nèi)存的指針。



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



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



在W2K下運行,顯示窗口,但不能響應輸入。在WinXP下運行什么也不顯示。
下面該與主程序交手了,這需要把板凳坐穿的耐心L。

相關(guān)文章

最新評論

东城区| 义马市| 喀什市| 图们市| 宜兴市| 渑池县| 商洛市| 古田县| 泸定县| 斗六市| 将乐县| 长子县| 手机| 兴国县| 岑溪市| 彭山县| 信阳市| 团风县| 长乐市| 磐石市| 托克逊县| 建平县| 八宿县| 桂林市| 当阳市| 高台县| 南昌县| 海城市| 廉江市| 克什克腾旗| 龙泉市| 綦江县| 巍山| 周至县| 阿拉善盟| 阿拉善盟| 分宜县| 新蔡县| 永州市| 怀化市| 塔河县|