设为主页 | 加入收藏 | 繁體中文

手脱UPX的三种方法

  首先,查壳,利用PEID或者是FI,为UPX 0.89
  接上去用OD载入,提示为“紧缩代码能否继续分析”,我们选择否
  我在这里介绍几种要领,请看我的操作。
  要领1:单步跟踪(最常见的要领)
  0040E8C0 N>  60            pushad                        //停在这里了,我们F8单步
  0040E8C1     BE 15B04000   mov esi,NOTEPAD.0040B015
  0040E8C6     8DBE EB5FFFFF lea edi,dword ptr ds:[esi+FFFF>
  0040E8CC     57            push edi
  0040E8CD     83CD FF       or ebp,FFFFFFFF
  0040E8D0     EB 10         jmp short NOTEPAD.0040E8E2         //跳
  。。。。。。。。。。
  0040E8E2     8B1E          mov ebx,dword ptr ds:[esi]         //跳到这里,继续单步
  0040E8E4     83EE FC       sub esi,-4
  0040E8E7     11DB          adc ebx,ebx
  0040E8E9   ^ 72 ED         jb short NOTEPAD.0040E8D8          //这里要往回跳了
  0040E8EB     B8 01000000   mov eax,1                        //F4,然后继续F8
  0040E8F0     01DB          add ebx,ebx
  0040E8F2     75 07         jnz short NOTEPAD.0040E8FB          //跳
  。。。。。。。。。。。
  0040E8FB     11C0          adc eax,eax                //离开这里,F8继续
  0040E8FD     01DB          add ebx,ebx
  0040E8FD     01DB          add ebx,ebx
  0040E8FF   ^ 73 EF         jnb short NOTEPAD.0040E8F0
  0040E901     75 09         jnz short NOTEPAD.0040E90C         //跳
  。。。。。。。。。。。
  0040E90C     31C9          xor ecx,ecx                   //跳到这里,继续F8
  0040E90E     83E8 03       sub eax,3
  0040E90E     83E8 03       sub eax,3
  0040E911     72 0D         jb short NOTEPAD.0040E920        //跳
  。。。。。。。。。。。
  0040E920     01DB          add ebx,ebx               //跳到这里,继续F8
  0040E922     75 07         jnz short NOTEPAD.0040E92B              //跳
  。。。。。。。。。。。<0040E92B     11C9          adc ecx,ecx                 //跳到了这里,继续F8
  0040E92D     01DB          add ebx,ebx
  0040E92F     75 07         jnz short NOTEPAD.0040E938        //跳
  。。。。。。。。。。。
  0040E938     11C9          adc ecx,ecx              //跳到这里,继续F8
  0040E93A     75 20         jnz short NOTEPAD.0040E95C         //跳
  。。。。。。。。。。。
  0040E95C     81FD 00F3FFFF cmp ebp,-0D00         //离开这,继续F8
  0040E962     83D1 01       adc ecx,1
  0040E965     8D142F        lea edx,dword ptr ds:[edi+ebp]
  0040E968     83FD FC       cmp ebp,-4
  0040E96B     76 0F         jbe short NOTEPAD.0040E97C
  0040E96D     8A02          mov al,byte ptr ds:[edx]
  0040E96F     42            inc edx
  0040E970     8807          mov byte ptr ds:[edi],al
  0040E972     47            inc edi
  0040E973     49            dec ecx
  0040E974   ^ 75 F7         jnz short NOTEPAD.0040E96D          //要往回跳了
  0040E976   ^ E9 63FFFFFF   jmp NOTEPAD.0040E8DE
  0040E97B     90            nop
  0040E97C     8B02          mov eax,dword ptr ds:[edx]          //在这里F4,继续F8
  0040E97E     83C2 04       add edx,4
  0040E981     8907          mov dword ptr ds:[edi],eax
  0040E983     83C7 04       add edi,4
  0040E986     83E9 04       sub ecx,4
  0040E989   ^ 77 F1         ja short NOTEPAD.0040E97C
  0040E98B     01CF          add edi,ecx
  0040E98D   ^ E9 4CFFFFFF   jmp NOTEPAD.0040E8DE           //要往回跳了。
  0040E992     5E            pop esi                        //这里F4,继续F8
  0040E993     89F7          mov edi,esi
  0040E995     B9 DD000000   mov ecx,0DD
  0040E99A     8A07          mov al,byte ptr ds:[edi]
  0040E99C     47  inc edi
  0040E99D     2C E8         sub al,0E8
  0040E99F     3C 01         cmp al,1
  0040E9A1   ^ 77 F7         ja short NOTEPAD.0040E99A           //要往回跳了
  0040E9A3     803F 00       cmp byte ptr ds:[edi],0             //这里F4,继续F8
  0040E9A6   ^ 75 F2         jnz short NOTEPAD.0040E99A          //要往回跳了
  0040E9A8     8B07          mov eax,dword ptr ds:[edi]          //这里F4,继续F8


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: