AcProtect 1.41 外壳分析[24]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 bmd2chen 的 blog

>add edi,4 sub ecx,4 jmpn: inc edi dec ecx jnz @loop1 @end: popad ret 8 fillcode endp @calld52 proc pushad call @f ;call 531100 get ebp value mov eax,dword ptr ss:[esp+24h] sub eax,dword ptr ss:[ebp+40f846h] mov ecx,3e9h lea edi,dword ptr ss:[ebp+40d563h] repne scas dword ptr es:[edi] or ecx,ecx jnz @f nop nop nop nop @@: sub ecx,3e9h not ecx movzx ebx,byte ptr ss:[ebp+ecx+40e503h] lea eax,dword ptr ss:[ebp+ebx*4+40e8ebh] mov eax,[eax] mov edx,dword ptr ss:[esp+24h] sub edx,5 cmp eax,5000000h ja @f mov ebx,[eax+8] mov eax,[eax+1] xor eax,ebx @@: invoke fillcode,eax,edx popad ret 4 @calld52 endp start: pushad mov edi,401000h mov ecx,0baf00h @loop1: cmp byte ptr [edi],0e8h jnz @f mov ebx,[edi+1] lea ebx,[ebx+edi+5] cmp ebx,52d30bh ;判断是否为call去解码处 jnz @not52d lea ebx,[edi+5] push ebx call @calld52 jmp @add4 @not52d: cmp ebx,521000h jb @f cmp ebx,538fd2h ja @f cmp word ptr [ebx+1],25ffh jnz @f mov ebx,[ebx+3] mov ebx,[ebx] invoke fillcode,ebx,edi @add4: add edi,4 sub ecx,4 @@: inc edi dec ecx jnz @loop1 popad end start 漫漫长路,终到尽头。分析了这么多,现在看来又好像什么都没有哦:-),花了很多时间,今天终于把acprotect给吃下来了。如果有兴趣可以试试做 脱壳机的,我自己看了分析后认为做这个的脱壳机应该是可行的(如果不行,不能怪我哦:-p)。有所收获有所失去。牺牲了睡眠换来了近视:-9。收工zzzzzz。 ---------------------------各模块代码------------------------------------ sub_embeddprotect: 0058ae31 > 837c24 04 ff cmp dword ptr ss:[esp+4],-1 ; 处理sdk的关键代码 0058ae36 74 13 je short 0058ae4b 0058ae38 90 nop 0058ae39 90 nop 0058ae3a 90 nop 0058ae3b 90 nop 0058ae3c 55 push ebp 0058ae3d e8 be120000 call <sub_getebp >
0058ae42 8bc5 mov eax,ebp 0058ae44 5d pop ebp 0058ae45 ffa0 c4fd4000 jmp dword ptr ds:[eax+40fdc4] 0058ae4b 90 nop ...... 0058aff7 55 push ebp 0058aff8 e8 03110000 call <sub_getebp >
; 这里是关键代码,用于加密解密代码的 0058affd 8bc5 mov eax,

本文关键:AcProtect 1.41 外壳分析
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top