首页
社区
课程
招聘
[旧帖] 初级脱UPX壳,初到看雪,希望大家支持。[申请邀请] 0.00雪花
发表于: 2009-11-8 02:01 1475

[旧帖] 初级脱UPX壳,初到看雪,希望大家支持。[申请邀请] 0.00雪花

2009-11-8 02:01
1475
手动脱壳的主要步骤是: 查壳(PEiD),脱壳(Ollydbg)

首先必须的工具要准备好,
查壳工具为PEiD0.95  【0.94的多,但是2个版本的一样的】
手动脱壳建议大家用,工作平台Win2000,WinXp,Win9x不推荐。
手动脱壳时,用Olldbg载入程序,脱壳程序里面会有多处循环点。对付循环时,只能让程序向前运行,不能让它往回跳,要想法跳出循环圈。

步骤一:查壳


步骤二:载入Ollydbg

00413330 >  60              PUSHAD         --------->F8单步跟踪
00413331    BE 15F04000     MOV ESI,记事本.0040F015
00413336    8DBE EB1FFFFF   LEA EDI,DWORD PTR DS:[ESI+FFFF1FEB]
0041333C    57              PUSH EDI
0041333D    83CD FF         OR EBP,FFFFFFFF
00413340    EB 10           JMP SHORT 记事本.00413352
00413342    90              NOP
00413343    90              NOP
00413344    90              NOP
00413345    90              NOP
00413346    90              NOP
00413347    90              NOP
00413348    8A06            MOV AL,BYTE PTR DS:[ESI]
0041334A    46              INC ESI
0041334B    8807            MOV BYTE PTR DS:[EDI],AL
0041334D    47              INC EDI
0041334E    01DB            ADD EBX,EBX
00413350    75 07           JNZ SHORT 记事本.00413359
00413352    8B1E            MOV EBX,DWORD PTR DS:[ESI]
00413354    83EE FC         SUB ESI,-4
00413357    11DB            ADC EBX,EBX
00413359  ^ 72 ED           JB SHORT 记事本.00413348        -------->这里是往回跳的
0041335B    B8 01000000     MOV EAX,1                            -------->按F4 运行到选定位置
00413360    01DB            ADD EBX,EBX
00413362    75 07           JNZ SHORT 记事本.0041336B
00413364    8B1E            MOV EBX,DWORD PTR DS:[ESI]
00413366    83EE FC         SUB ESI,-4
00413369    11DB            ADC EBX,EBX
0041336B    11C0            ADC EAX,EAX
0041336D    01DB            ADD EBX,EBX
0041336F  ^ 73 EF           JNB SHORT 记事本.00413360
00413371    75 09           JNZ SHORT 记事本.0041337C
00413373    8B1E            MOV EBX,DWORD PTR DS:[ESI]
00413375    83EE FC         SUB ESI,-4
00413378    11DB            ADC EBX,EBX
0041337A  ^ 73 E4           JNB SHORT 记事本.00413360
0041337C    31C9            XOR ECX,ECX
0041337E    83E8 03         SUB EAX,3
00413381    72 0D           JB SHORT 记事本.00413390
00413383    C1E0 08         SHL EAX,8
00413386    8A06            MOV AL,BYTE PTR DS:[ESI]
00413388    46              INC ESI
00413389    83F0 FF         XOR EAX,FFFFFFFF
0041338C    74 74           JE SHORT 记事本.00413402
0041338E    89C5            MOV EBP,EAX
00413390    01DB            ADD EBX,EBX
00413392    75 07           JNZ SHORT 记事本.0041339B
00413394    8B1E            MOV EBX,DWORD PTR DS:[ESI]
00413396    83EE FC         SUB ESI,-4
00413399    11DB            ADC EBX,EBX
0041339B    11C9            ADC ECX,ECX
0041339D    01DB            ADD EBX,EBX
0041339F    75 07           JNZ SHORT 记事本.004133A8
004133A1    8B1E            MOV EBX,DWORD PTR DS:[ESI]
004133A3    83EE FC         SUB ESI,-4
004133A6    11DB            ADC EBX,EBX
004133A8    11C9            ADC ECX,ECX
004133AA    75 20           JNZ SHORT 记事本.004133CC
004133AC    41              INC ECX
004133AD    01DB            ADD EBX,EBX
004133AF    75 07           JNZ SHORT 记事本.004133B8
004133B1    8B1E            MOV EBX,DWORD PTR DS:[ESI]
004133B3    83EE FC         SUB ESI,-4
004133B6    11DB            ADC EBX,EBX
004133B8    11C9            ADC ECX,ECX
004133BA    01DB            ADD EBX,EBX
004133BC  ^ 73 EF           JNB SHORT 记事本.004133AD
004133BE    75 09           JNZ SHORT 记事本.004133C9
004133C0    8B1E            MOV EBX,DWORD PTR DS:[ESI]
004133C2    83EE FC         SUB ESI,-4
004133C5    11DB            ADC EBX,EBX
004133C7  ^ 73 E4           JNB SHORT 记事本.004133AD
004133C9    83C1 02         ADD ECX,2
004133CC    81FD 00F3FFFF   CMP EBP,-0D00
004133D2    83D1 01         ADC ECX,1
004133D5    8D142F          LEA EDX,DWORD PTR DS:[EDI+EBP]
004133D8    83FD FC         CMP EBP,-4
004133DB    76 0F           JBE SHORT 记事本.004133EC
004133DD    8A02            MOV AL,BYTE PTR DS:[EDX]
004133DF    42              INC EDX
004133E0    8807            MOV BYTE PTR DS:[EDI],AL
004133E2    47              INC EDI
004133E3    49              DEC ECX
004133E4  ^ 75 F7           JNZ SHORT 记事本.004133DD       -------->这里是往回跳的
004133E6  ^ E9 63FFFFFF     JMP 记事本.0041334E             ---------> F4 运行到选定位置 【这里也是往回跳的,下一部是NOP,无用的,只有到8B02 F4】   
004133EB    90              NOP
004133EC    8B02            MOV EAX,DWORD PTR DS:[EDX]    -----------F4
004133EE    83C2 04         ADD EDX,4
004133F1    8907            MOV DWORD PTR DS:[EDI],EAX
004133F3    83C7 04         ADD EDI,4
004133F6    83E9 04         SUB ECX,4
004133F9  ^ 77 F1           JA SHORT 记事本.004133EC
004133FB    01CF            ADD EDI,ECX
004133FD  ^ E9 4CFFFFFF     JMP 记事本.0041334E         ------------>这里往回跳
00413402    5E              POP ESI                     --------------->F4
00413403    89F7            MOV EDI,ESI
00413405    B9 DD000000     MOV ECX,0DD
0041340A    8A07            MOV AL,BYTE PTR DS:[EDI]
0041340C    47              INC EDI
0041340D    2C E8           SUB AL,0E8
0041340F    3C 01           CMP AL,1
00413411  ^ 77 F7           JA SHORT 记事本.0041340A    ------------>这里往回跳
00413413    803F 00         CMP BYTE PTR DS:[EDI],0     ------------->F4
00413416  ^ 75 F2           JNZ SHORT 记事本.0041340A   ------------>这里往回跳
00413418    8B07            MOV EAX,DWORD PTR DS:[EDI] ------------->F4
0041341A    8A5F 04         MOV BL,BYTE PTR DS:[EDI+4]
0041341D    66:C1E8 08      SHR AX,8
00413421    C1C0 10         ROL EAX,10
00413424    86C4            XCHG AH,AL
00413426    29F8            SUB EAX,EDI
00413428    80EB E8         SUB BL,0E8
0041342B    01F0            ADD EAX,ESI
0041342D    8907            MOV DWORD PTR DS:[EDI],EAX
0041342F    83C7 05         ADD EDI,5
00413432    88D8            MOV AL,BL
00413434  ^ E2 D9           LOOPD SHORT 记事本.0041340F    ------------>这里往回跳
00413436    8DBE 00100100   LEA EDI,DWORD PTR DS:[ESI+11000]   ------------->F4

0041343C    8B07            MOV EAX,DWORD PTR DS:[EDI]
0041343E    09C0            OR EAX,EAX
00413440    74 3C           JE SHORT 记事本.0041347E
00413442    8B5F 04         MOV EBX,DWORD PTR DS:[EDI+4]
00413445    8D8430 143C0100 LEA EAX,DWORD PTR DS:[EAX+ESI+13C14]
0041344C    01F3            ADD EBX,ESI
0041344E    50              PUSH EAX
0041344F    83C7 08         ADD EDI,8
00413452    FF96 A03C0100   CALL DWORD PTR DS:[ESI+13CA0]
00413458    95              XCHG EAX,EBP
00413459    8A07            MOV AL,BYTE PTR DS:[EDI]
0041345B    47              INC EDI
0041345C    08C0            OR AL,AL
0041345E  ^ 74 DC           JE SHORT 记事本.0041343C
00413460    89F9            MOV ECX,EDI
00413462    57              PUSH EDI
00413463    48              DEC EAX
00413464    F2:AE           REPNE SCAS BYTE PTR ES:[EDI]
00413466    55              PUSH EBP
00413467    FF96 A43C0100   CALL DWORD PTR DS:[ESI+13CA4]
0041346D    09C0            OR EAX,EAX
0041346F    74 07           JE SHORT 记事本.00413478
00413471    8903            MOV DWORD PTR DS:[EBX],EAX
00413473    83C3 04         ADD EBX,4
00413476  ^ EB E1           JMP SHORT 记事本.00413459
00413478    FF96 A83C0100   CALL DWORD PTR DS:[ESI+13CA8]
0041347E    61              POPAD
0041347F  - E9 48DCFEFF     JMP 记事本.004010CC

004133EB    90              NOP
004133EC    8B02            MOV EAX,DWORD PTR DS:[EDX]
004133EE    83C2 04         ADD EDX,4
004133F1    8907            MOV DWORD PTR DS:[EDI],EAX
004133F3    83C7 04         ADD EDI,4
004133F6    83E9 04         SUB ECX,4
004133F9  ^ 77 F1           JA SHORT 记事本.004133EC
004133FB    01CF            ADD EDI,ECX
004133FD  ^ E9 4CFFFFFF     JMP 记事本.0041334E
00413402    5E              POP ESI
00413403    89F7            MOV EDI,ESI
00413405    B9 DD000000     MOV ECX,0DD
0041340A    8A07            MOV AL,BYTE PTR DS:[EDI]
0041340C    47              INC EDI
0041340D    2C E8           SUB AL,0E8
0041340F    3C 01           CMP AL,1
00413411  ^ 77 F7           JA SHORT 记事本.0041340A
00413413    803F 00         CMP BYTE PTR DS:[EDI],0
00413416  ^ 75 F2           JNZ SHORT 记事本.0041340A
00413418    8B07            MOV EAX,DWORD PTR DS:[EDI]
0041341A    8A5F 04         MOV BL,BYTE PTR DS:[EDI+4]
0041341D    66:C1E8 08      SHR AX,8
00413421    C1C0 10         ROL EAX,10
00413424    86C4            XCHG AH,AL
00413426    29F8            SUB EAX,EDI
00413428    80EB E8         SUB BL,0E8
0041342B    01F0            ADD EAX,ESI
0041342D    8907            MOV DWORD PTR DS:[EDI],EAX
0041342F    83C7 05         ADD EDI,5
00413432    88D8            MOV AL,BL
00413434  ^ E2 D9           LOOPD SHORT 记事本.0041340F
00413436    8DBE 00100100   LEA EDI,DWORD PTR DS:[ESI+11000]
0041343C    8B07            MOV EAX,DWORD PTR DS:[EDI]
0041343E    09C0            OR EAX,EAX
00413440    74 3C           JE SHORT 记事本.0041347E
00413442    8B5F 04         MOV EBX,DWORD PTR DS:[EDI+4]
00413445    8D8430 143C0100 LEA EAX,DWORD PTR DS:[EAX+ESI+13C14]
0041344C    01F3            ADD EBX,ESI
0041344E    50              PUSH EAX
0041344F    83C7 08         ADD EDI,8
00413452    FF96 A03C0100   CALL DWORD PTR DS:[ESI+13CA0]
00413458    95              XCHG EAX,EBP
00413459    8A07            MOV AL,BYTE PTR DS:[EDI]
0041345B    47              INC EDI
0041345C    08C0            OR AL,AL
0041345E  ^ 74 DC           JE SHORT 记事本.0041343C
00413460    89F9            MOV ECX,EDI
00413462    57              PUSH EDI
00413463    48              DEC EAX
00413464    F2:AE           REPNE SCAS BYTE PTR ES:[EDI]
00413466    55              PUSH EBP
00413467    FF96 A43C0100   CALL DWORD PTR DS:[ESI+13CA4]
0041346D    09C0            OR EAX,EAX
0041346F    74 07           JE SHORT 记事本.00413478
00413471    8903            MOV DWORD PTR DS:[EBX],EAX
00413473    83C3 04         ADD EBX,4
00413476  ^ EB E1           JMP SHORT 记事本.00413459    ------------->往回跳

00413478    FF96 A83C0100   CALL DWORD PTR DS:[ESI+13CA8]      【不能再CALL上面F4】
0041347E    61              POPAD   ----------->F4
0041347F  - E9 48DCFEFF     JMP 记事本.004010CC  

最后脱壳调试,就OK了。

【最简单的脱UPX方法】:

内存镜像法:
ALT+M打开内存
找到.rsrc,F2下断,F9运行
ALT+M打开内存
找到UPX0,F2下断,F9运行

0040EA01     8903          mov dword ptr ds:[ebx],eax     ; kernel32._lwrite  ------------->来到这,F8继续
0040EA03     83C3 04       add ebx,4
0040EA06   ^ EB E1         jmp short NOTEPAD.0040E9E9       --------------->回跳
0040EA08     FF96 A8EC0000 call dword ptr ds:[esi+ECA8]
0040EA0E     61            popad         ------------------------>F4
0040EA0F   - E9 B826FFFF   jmp NOTEPAD.004010CC


---------------------------------------------------------------------------------------------------------------

   支持看雪,由于本人之前的账号忘记了,只能申请新的,我会相继给大家出新的教程。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 276
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
支持一下啊,还不错啊
2009-11-8 06:26
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵。加油咯
2009-11-24 01:44
0
雪    币: 49
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感觉不错,请问有没有适合WINDOWS SERVER 2008企业版的PEID版本
2009-11-26 14:55
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我是新人  第一次回帖  学习了   谢谢分享
2009-11-26 15:00
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
顶了再看。
2009-11-26 16:05
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
支持一下
2009-11-26 16:14
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
看完了,**一下。。。
2009-11-26 16:47
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wnj
9
受教了........
2010-11-10 13:49
0
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
作个标记,回头过来看。
2010-11-11 08:34
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
支持楼主了,论坛就应该多多出这样的帖子,
2010-11-11 09:44
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
更简单的方法直接搜索popad,然后F2,再shift+F9,再F8几步就可以了~~~~
2010-11-11 10:30
0
雪    币: 288
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
现在的操作系统已经逐步趋向于使用win7了,这些软件什么时候能够支持win7系统呢!
2010-11-11 10:34
0
游客
登录 | 注册 方可回帖
返回
//