安全中国首页 > 文章中心 > 脱壳技术
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

ACProtect V1.21专业版主程序的修复

更新时间:2008-4-17 0:21:03
责任编辑:池天
热 点:
偶的《ACProtect V1.21专业版主程序的脱壳》一文,想必大家都已经看过了。地址: 
http://tongtian.net/pediybbs/viewtopic.php?t=4483 
有人可能会问:为什么有2个函数修复不了?而且也没有去修复呢?这里我将要告诉大家为什么。 
  1.消除代码替换暗桩(即ACPr中的Code Replace) 
  用W32Dasm打开dump出来的文件反汇编,然后搜索call 006(壳的代码位于006d4000以上) 就会发现许多代码暗桩都是call 006d540c,为此经过分析该段代码后修改如下: 
006D540C  push ebp 
006D540D  mov ebp,esp 
006D540F  pushad 
006D5410  mov esi,006D56E2 
006D5415  mov ebx,dword ptr ss:[ebp+4] 
006D5418  xor ecx,ecx 
006D541A  lods dword ptr ds:[esi] 
006D541B  add eax,00400000 
006D5420  cmp eax,ebx 
006D5422  nop 
006D5423  nop 
006D5424  je short Acp.006D542C 
006D5426  inc ecx 
006D5427  jmp 006D541A 
006D542C  mov edi,006D85C2 
006D5431  mov eax,0A 
006D5436  mul ecx 
006D5438  add edi,eax 
006D543A  mov ecx,0A 
006D543F  mov al,byte ptr ds:[edi] 
006D5441  xor al,6D 
006D5443  stos byte ptr es:[edi] 
006D5444  loopd short 006D543F 
006D5446  sub edi,0A 
006D5449  mov dword ptr ds:[06d4000],edi  
006D544F  sub edi,ebx 
006D5451  mov dword ptr ds:[ebx-4],edi 
006D5454  popad 
006D5455  pop ebp 
006D5456  jmp dword ptr ds:[06d4000] 
偶本想写段代码直接把原来的代码还原到CALL的位置,因为长度都是5字节,但由于要用反汇编识别垃圾代码比较麻烦所以作摆。 
2.跨平台问题 
经过第一步修复,虽然在你dump时的操作系统下可以运行,但不能跨平台。比如偶的在win2k下运行没问题,但是到win98出错。于是再次进行跟踪分析,原来存在数据暗桩即共享壳中数据。原理是:在壳中对部分API函数取地址并在前面加标示识别,然后在主程序中通过搜索标示找到该部分函数的地址再进行调用。由于脱壳后,API地址仍然是原来的没有随着系统的变化而变化所以出错。该段取API地址代码位于壳06e369a处,现修改如下: 
006E369A  call 006E1460 
006E369F  lea eax,dword ptr ss:[ebp+40D5E7] 
006E36A5  mov ebx,eax 
006E36A7  push eax 
006E36A8  push eax 
006E36A9  jmp 006E36C0 
006E36AB  nop 
006E36AC  nop 
006E36AD  nop 
006E36AE  nop 
006E36AF  nop 
006E36B0  nop 
006E36B1  nop 
006E36B2  nop 
006E36B3  nop 
006E36B4  nop 
006E36B5  nop 
006E36B6  nop 
006E36B7  nop 
006E36B8  nop 
006E36B9  nop 
006E36BA  nop 
006E36BB  nop 
006E36BC  nop 
006E36BD  nop 
006E36BE  nop 
006E36BF  nop 
006E36C0  pop eax                                          ;  
006E36C1  call dword ptr ds:[691194]  
006E36C7  jmp 006E36E0 
006E36C9  nop 
006E36CA  nop 
006E36CB  nop 
...... 
006E36E0  or eax,eax 
006E36E2  jnz 006E3721 
006E36E4  retn 
006E36E5  nop 
006E36E6  nop 
006E36E7  nop 
...... 
006E3721  mov ebx,eax 
006E3723  mov dword ptr ss:[ebp+4023F0],eax 
006E3729  mov eax,0040D5F4 
006E372E  mov edx,0040D763 
006E3733  call 006E148A 
006E3738  mov eax,0040D600 
006E373D  mov edx,0040D767 
006E3742  call 006E148A 
006E3747  mov eax,0040D60B 
006E374C  mov edx,0040D77B 
006E3751  call 006E148A 
006E3756  mov eax,0040D61F 
006E375B  mov edx,0040D77F 
006E3760  call 006E148A 
006E3765  mov eax,0040D638 
006E376A  mov edx,0040D783 
006E376F  call 006E148A 
006E3774  mov eax,0040D647 
006E3779  mov edx,0040D787 
006E377E  call 006E148A 
006E3783  mov eax,0040D655 
006E3788  mov edx,0040D78B 
006E378D  call 006E148A 
006E3792  mov eax,0040D661 
006E3797  mov edx,0040D78F 
006E379C  call 006E148A 
006E37A1  mov eax,Acp.0040D66D 
006E37A6  mov edx,Acp.0040D793 
006E37AB  call Acp.006E148A 
006E37B0  mov eax,Acp.0040D67E 
006E37B5  mov edx,Acp.0040D7AB 
006E37BA  call Acp.006E148A 
006E37BF  mov eax,Acp.0040D690 
006E37C4  mov edx,Acp.0040D7AF 
006E37C9  call Acp.006E148A 
006E37CE  mov eax,Acp.0040D69C 
006E37D3  mov edx,Acp.0040D7B3 
006E37D8  call Acp.006E148A 
006E37DD  mov eax,Acp.0040D6A5 
006E37E2  mov edx,Acp.0040D7B7 
006E37E7  call Acp.006E148A 
006E37EC  mov eax,Acp.0040D6AF 
006E37F1  mov edx,Acp.0040D7BB 
006E37F6  call Acp.006E148A 
006E37FB  mov eax,Acp.0040D6BB 
006E3800  mov edx,Acp.0040D7BF 
006E3805  call Acp.006E148A 
006E380A  mov eax,Acp.0040D6C8 
006E380F  mov edx,Acp.0040D7C3 
006E3814  call Acp.006E148A 
006E3819  mov eax,Acp.0040D6E1 
006E381E  mov edx,Acp.0040D7CB 
006E3823  call Acp.006E148A 
006E3828  mov eax,Acp.0040D6F2 
006E382D  mov edx,Acp.0040D7CF 
006E3832  call Acp.006E148A 
006E3837  mov eax,Acp.0040D703 
006E383C  mov edx,Acp.0040D7D3 
006E3841  call Acp.006E148A 
006E3846  mov eax,Acp.0040D803 
006E384B  mov edx,Acp.0040D7FF 
006E3850  call Acp.006E148A 
006E3855  lea eax,dword ptr ss:[ebp+40D714] 
006E385B  mov ebx,eax 

1 2 下一页

 
相关文章
一日一文章
 
一日一软件
一日一动画