欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

找到匹配地址后,ecx等于表項的offset,第1項為0x2A。

2) 查opcode表
用1中的到的offset查opcode數(shù)據(jù)表(007262ED):

密文opcode表:


counter表(記錄每個地址的調用次數(shù),超出0x20次將使用新的地址解碼):


第1次解出的變形碼:



3) 調整stack以便正確調用變形碼及返回




4) 破壞解出的代碼,ret到變形碼




5) 執(zhí)行變形碼,返回到原程序




6) Patch

先把解出的代碼binary copy到dumped_.exe(直接copy 722416 - 7226B0的代碼即可)。

關閉722579的解碼(解出7225C1 - 7226B0):


關閉7226A8處對前面代碼的破壞:


patch 72260C: jnz->jmp,無論執(zhí)行多少次都使用同一解碼地址



copy正確的ImageBase值,這里為0,改72FC1F為400000





copy 正確的10 bytes key(第1 byte為0)




執(zhí)行,仍然crashedL。

8. 修復Replaced code (2)

還有replaced code,在這里出異常:


->


將解出的代碼貼到ACProtect_Fixed.exe??梢钥吹?這些實際上是變形的call代碼。第1次執(zhí)行到這里,在buffer中解出的變形碼為:




XOR的結果:



目前的dumped_.exe,地址72ED83的值為0(這些值是loader寫入的)。

406DF8的變形碼原來是call GetKeyboardType。原程序的call API 全部被抽掉了。殼代碼的動作與前面相似,用返回地址查表,獲取相應的指針,生成jmp dword ptr ds:[xxxxxxxx]指令,該地址則指向類似72124C的變形碼,調用正確的API。

變形call API的返回RVA地址表:

開始:


結束:


尋址變形碼數(shù)組下標表(每項1字節(jié)),用于查變形碼指針數(shù)組:


變形碼地址表(指向變形碼的指針):


相關文章

最新評論