手脱UPX的四种方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
。。。。。。。。。。。
0040E938 11C9 adc ecx,ecx //跳到这里,继续F8
0040E93A 75 20 jnz short NOTEPAD.0040E95C //跳
。。。。。。。。。。。
0040E9F4 F2:AE repne scas byte ptr es:[edi]
0040E9F6 55 push ebp
0040E9F7 FF96 A4EC0000 call dword ptr ds:[esi+ECA4]
0040E9FD 09C0 or eax,eax
0040E9EE ^ 74 DC je short NOTEPAD.0040E9CC
0040E9F0 89F9 mov ecx,edi
0040E9F2 57 push edi
0040E9F3 48 dec eax
0040E9E8 95 xchg eax,ebp
0040E9E9 8A07 mov al,byte ptr ds:[edi]
0040E9EB 47 inc edi
0040E9EC 08C0 or al,al
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
0040E8F2 75 07 jnz short NOTEPAD.0040E8FB //跳
。。。。。。。。。。。
0040E8FB 11C0 adc eax,eax //来到这里,F8继续
0040E8FD 01DB add ebx,ebx
。。。。。。。。。。。
0040E90C 31C9 xor ecx,ecx //跳到这里,继续F8
0040E90E 83E8 03 sub eax,3
0040E90E 83E8 03 sub eax,3
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
0040E9C6 8DBE 00C00000 lea edi,dword ptr ds:[esi+C000> //这里F4,继续F8
0040E9CC 8B07 mov eax,dword ptr ds:[edi]
0040E9CE 09C0 or eax,eax
。。。。。。。。。。。
0040E92B 11C9 adc ecx,ecx //跳到了这里,继续F8
0040E92D 01DB add ebx,ebx
0040E92F 75 07 jnz short NOTEPAD.0040E938 //跳
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
0040E9BF 83C7 05 add edi,5
0040E9C2 89D8 mov eax,ebx
0040E9C4 ^ E2 D9 loopd short NOTEPAD.0040E99F //要往回跳了
0040E970 8807 mov byte ptr ds:[edi],al
0040E972 47 inc edi
0040E973 49 dec ecx
0040E974 ^ 75 F7 源自jnz short NOTEPAD.0040E96D //要往回跳了
0040E911 72 0D jb short NOTEPAD.0040E920 //跳
。。。。。。。。。。。
0040E920 01DB add ebx,ebx //跳到这里,继续F8
0040E922 75 07 jnz short NOTEPAD.0040E92B //跳
0040E8FD 01DB add ebx,ebx
0040E8FF ^ 73 EF jnb short NOTEPAD.0040E8F0
0040E901 75 09 jnz short NOTEPAD.0040E90C //跳
0040E8E9 ^ 72 ED jb short NOTEPAD.0040E8D8 //这里要往回跳了
0040E8EB B8 01000000 mov eax,1 //F4,然后继续F8
0040E8F0 01DB add ebx,ebx
0040E9DC 01F3 add ebx,esi
0040E9DE 50 push eax
0040E9DF 83C7 08 add edi,8
0040E9E2 FF96 A0EC0000 call dword ptr ds:[esi+ECA0]
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]
0040E9D0 74 3C je short NOTEPAD.0040EA0E
0040E9D2 8B5F 04 mov ebx,dword ptr ds:[edi+4]
0040E9D5 8D8430 14EC00>lea eax,dword ptr ds:[eax+esi+>
0040E989 ^ 77 F1 ja short NOTEPAD.0040E97C
0040E98B 01CF add edi,ecx
0040E98D ^ E9 4CFFFFFF jmp NOTEPAD.0040E8DE //要往回跳了。
。。。。。。。。。。
0040E8E2 8B1E mov ebx,dword ptr ds:[esi] //跳到这里,继续单步
0040E8E4 83EE FC sub esi,-4
0040E8E7 11DB adc ebx,ebx
0040E95C 81FD 00F3FFFF cmp ebp,-0D00 //来到这,继续F8
0040E962 83D1 01 adc ecx,1
0040E965 8D142F lea edx,dword ptr ds:[edi+ebp]
0040E99C 47 inc edi
0040E99D 2C E8 sub al,0E8
0040E99F 3C 01 cmp al,1
0040E9A1 ^ 77 F7 ja short NOTEPAD.0040E99A //要往回跳了
-------------------------------------------------------------------------------------------
首先,查壳,使用PEID或者是FI,为UPX v1.08
接下来用OD载入,提示为“压缩代码是否继续分析”,我们选择否
0040E9B6 29F8 sub eax,edi
0040E9B8 80EB E8 sub bl,0E8
0040E9BB 01F0 add eax,esi
0040E9BD 8907 mov dword ptr ds:[edi],eax
0040E9AA 8A5F 04 mov bl,byte ptr ds:[edi+4]
0040E9AD 66:C1E8 08 shr ax,8
0040E9B1 C1C0 10 rol eax,10
0040E9B4 86C4 xchg ah,al
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 //跳
我在这里介绍几种方法,请看我的操作。
方法1:单步跟踪(最常见的方法)
0040E8C0 N> 60 pushad //停在这里了,我们F8单步
0040E8C1 BE 15B04000 mov esi,NOTEPAD.0040B015
相关文档
最新文档