upx最新壳脱壳测试

先从http://upx.sourceforge.net/上下载基于win32的upx加密程序。

用vc6.0编写一个基于对话框的MFC程序,默认的框架就OK了。

为upx创建快捷方式到sendto文件夹,即添加到右键菜单。

对程序进行加密。

1.使用esp定律

1 00439DF7    8D4424 80       lea eax,dword ptr ss:[esp-80]
2 00439DFB    6A 00           push 0
3 00439DFD    39C4            cmp esp,eax
4 00439DFF  ^ 75 FA           jnz short test.00439DFB
5 00439E01    83EC 80         sub esp,-80
6 00439E04  - E9 3DF5FCFF     jmp test.00409346

这样,就直接跳到oep了。

2.内存镜像法:

先在程序的.rsrc上下断,运行

跳到00439d92,然后单步跟踪就可以了。

 1 00439D92    FF96 B09D0300   call dword ptr ds:[esi+39DB0]            ; kernel32.LoadLibraryA
 2 00439D98    95              xchg eax,ebp
 3 00439D99    8A07            mov al,byte ptr ds:[edi]
 4 00439D9B    47              inc edi
 5 00439D9C    08C0            or al,al
 6 00439D9E  ^ 74 DC           je short test.00439D7C
 7 00439DA0    89F9            mov ecx,edi
 8 00439DA2    79 07           jns short test.00439DAB
 9 00439DA4    0FB707          movzx eax,word ptr ds:[edi]
10 00439DA7    47              inc edi
11 00439DA8    50              push eax
12 00439DA9    47              inc edi
13 00439DAA    B9 5748F2AE     mov ecx,AEF24857
14 00439DAF    55              push ebp
15 00439DB0    FF96 B49D0300   call dword ptr ds:[esi+39DB4]
16 00439DB6    09C0            or eax,eax
17 00439DB8    74 07           je short test.00439DC1
18 00439DBA    8903            mov dword ptr ds:[ebx],eax
19 00439DBC    83C3 04         add ebx,4
20 00439DBF  ^ EB D8           jmp short test.00439D99
21 00439DC1    FF96 C49D0300   call dword ptr ds:[esi+39DC4]
22 00439DC7    8BAE B89D0300   mov ebp,dword ptr ds:[esi+39DB8]
23 00439DCD    8DBE 00F0FFFF   lea edi,dword ptr ds:[esi-1000]
24 00439DD3    BB 00100000     mov ebx,1000
25 00439DD8    50              push eax
26 00439DD9    54              push esp
27 00439DDA    6A 04           push 4
28 00439DDC    53              push ebx
29 00439DDD    57              push edi
30 00439DDE    FFD5            call ebp
31 00439DE0    8D87 07020000   lea eax,dword ptr ds:[edi+207]
32 00439DE6    8020 7F         and byte ptr ds:[eax],7F
33 00439DE9    8060 28 7F      and byte ptr ds:[eax+28],7F
34 00439DED    58              pop eax
35 00439DEE    50              push eax
36 00439DEF    54              push esp
37 00439DF0    50              push eax
38 00439DF1    53              push ebx
39 00439DF2    57              push edi
40 00439DF3    FFD5            call ebp
41 00439DF5    58              pop eax
42 00439DF6    61              popad
43 00439DF7    8D4424 80       lea eax,dword ptr ss:[esp-80]
44 00439DFB    6A 00           push 0
45 00439DFD    39C4            cmp esp,eax
46 00439DFF  ^ 75 FA           jnz short test.00439DFB
47 00439E01    83EC 80         sub esp,-80
48 00439E04  - E9 3DF5FCFF     jmp test.00409346
posted @ 2012-04-17 22:02  r3call  阅读(342)  评论(0编辑  收藏  举报