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

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

更新时间:2008-4-17 0:21:03
责任编辑:池天
热 点:

006E385D  push eax 
006E385E  push eax 
006E385F  nop 
006E3860  nop 
006E3861  nop 
006E3862  nop 
006E3863  nop 
006E3864  nop 
006E3865  nop 
006E3866  nop 
006E3867  nop 
006E3868  nop 
006E3869  nop 
006E386A  nop 
006E386B  nop 
006E386C  nop 
006E386D  nop 
006E386E  nop 
006E386F  nop 
006E3870  nop 
006E3871  nop 
006E3872  nop 
006E3873  nop 
006E3874  nop 
006E3875  nop 
006E3876  pop eax                                           
006E3877  call dword ptr ds:[691194] 
006E387D  jmp short Acp.006E3896 
006E387F  nop 
006E3880  nop 
006E3881  nop 
...... 
006E3896  or eax,eax 
006E3898  jnz short Acp.006E38D7 
006E389A  retn 
006E389B  nop 
006E389C  nop 
006E389D  nop 
...... 
006E38D7  mov ebx,eax 
006E38D9  mov dword ptr ss:[ebp+4023F4],eax 
006E38DF  mov eax,Acp.0040D71F 
006E38E4  mov edx,Acp.0040D76B 
006E38E9  call Acp.006E148A 
006E38EE  mov eax,Acp.0040D72B 
006E38F3  mov edx,Acp.0040D76F 
006E38F8  call Acp.006E148A 
006E38FD  mov eax,Acp.0040D73A 
006E3902  mov edx,Acp.0040D773 
006E3907  call Acp.006E148A 
006E390C  mov eax,Acp.0040D748 
006E3911  mov edx,Acp.0040D777 
006E3916  call Acp.006E148A 
006E391B  retn 

006E148A  push ebx 
006E148B  push eax 
006E148C  push edx 
006E148D  add eax,ebp 
006E148F  push eax 
006E1490  push ebx 
006E1491  push eax 
006E1492  mov eax,dword ptr ss:[ebp+41A614] 
006E1498  nop 
006E1499  nop 
006E149A  nop 
006E149B  nop 
006E149C  nop 
006E149D  nop 
006E149E  nop 
006E149F  nop 
006E14A0  nop 
006E14A1  nop 
006E14A2  nop 
006E14A3  nop 
006E14A4  nop 
006E14A5  nop 
006E14A6  nop 
006E14A7  nop 
006E14A8  nop 
006E14A9  pop eax                                          ;  
006E14AA  call dword ptr ds:[691190] 
006E14B0  jmp short Acp.006E14C9 
006E14B2  nop 
006E14B3  nop 
006E14B4  nop 
...... 
006E14C9  pop edx                                           
006E14CA  mov dword ptr ss:[ebp+edx],eax 
006E14CE  pop eax                                          ;  
006E14CF  pop ebx                                          ; 
006E14D0  retn 
3.调用壳SDK的修复 
在IAT修复时有2个函数没有修复,这2个函数都是指向MessageBoxA,看ACPr说明原来用作SDK接口。 
程序对该函数调用相应也是2处:00407830和00407838.都指向壳代码006e084d.如果不修复直接指向原来的USer32.dll那么主程序总是显示未注册版而且对程序加壳后也显示未注册,很不爽。偶在6d4010处写入不分代码,然后修改407830和407838代码跳转到006d4010: 
00407830:jmp 006d4010 
00407838:jmp 006d4010 

006D4010  cmp dword ptr ss:[esp+4],-1 
006D4015  jnz 006D4023 
006D4017  cmp dword ptr ss:[esp+8],0 
006D401C  je 006D4023 
006D401E  jmp 006E084D 
006D4023  jmp dword ptr ds:[691588]         ;JMP到user32.MessageBoxA 
这样处理后只能算基本可以了。但还是有点问题,由于要浪费很多时间就不进一步处理了。 
4.部分数据校验: 
主程序的入口必须是2D4000 
IMAGESIZE必须是:2F537A 
因为数据校验代码部分是动态还原后执行的,不便修改该部分代码。 
入口代码: 
006D4000:PUSHAD 
CALL 006E369A 
POPAD 
JMP 004CC210 

上一页 1 2 

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