-
-
[原创]手脱加PESpin 0.3x - 0.4x壳的病毒
-
发表于: 2007-12-30 20:54 5966
-
////////////////////////////////////////////////////////////////////////////////////////////
文件名称:手脱加PESpin 0.3x - 0.4x壳的病毒
目标程序:病毒样本“Trojan/PSW.Agent.eoy”程序
操作环境:Windows XP-SP2
使用工具:Ollydbg 1.10版
编写作者:Coderui
编写时间:2007年11月23日
联系方式:coderui@163.com
作者博客:http://hi.baidu.com/coderui
---------------------------------------------------------------------------------------------
前言:
个人感觉这个壳很有特点,虽然每天都重复着在做脱壳、分析病毒,但好久没写脱文发布了,今天就拿该病毒的壳作为例子和大家分享吧。
分析:
脱壳前,使用PEID V0.93查壳,显示壳名为:“PESpin 0.3x - 0.4x -> cyberbob”。看了下这个程序有16个节段,还真不少。EP区段名分别为:“.text/.rdata/.data/.peII/pepack/xh520/xh520/.MaskPE/.MaskPE/520xh/520mmym/pepack/.pepack/mumaba/pepack/mmym520”,显示连接程序版本为:2.0 。
注意:
如果大家分析的是应用软件加的壳,跑飞几次没什么关系。但如果分析的是病毒,那么就要千万小心了,因为有些未知病毒可能破坏力非常大的(比如PE感染型病毒)。不过最好还是养成仔细分析、细心调试的好习惯比较好(我喜欢真实环境,不太喜欢虚拟机,因为感觉不方便)。今天同样很幸运,依然只跟了一次,壳直接就脱掉了,哈哈!(^_^).
---------------------------------------------------------------------------------------------
手脱记录:
(OD设置为不忽略任何异常。[F2]:下软断点、[F4]:执行到当前代码处、[F7]:单步步入、[F8]单步步过、[F9]运行。)
---------------------------------------------------------------------------------------------
0042C000 > 60 PUSHAD ;OD载入后停在这里,单步[F8]向下走。
0042C001 90 NOP
0042C002 90 NOP
0042C003 90 NOP
0042C004 90 NOP
0042C005 90 NOP
0042C006 90 NOP
0042C007 5D POP EBP
0042C008 90 NOP
0042C009 90 NOP
0042C00A 90 NOP
0042C00B 90 NOP
0042C00C 90 NOP
0042C00D 90 NOP
0042C00E 90 NOP
0042C00F 90 NOP
0042C010 90 NOP
0042C011 90 NOP
0042C012 90 NOP
0042C013 03DD ADD EBX,EBP
0042C015 68 31504200 PUSH ae5a3650.00425031
0042C01A C3 RETN ;这里单步[F8]后会跳。
.
.
.
00425031 ? 60 PUSHAD ;跳到这里,单步[F8]向下走。
00425032 ? 03CB ADD ECX,EBX
00425034 ? 53 PUSH EBX
00425035 . 52 PUSH EDX
00425036 . 53 PUSH EBX
00425037 . 33DA XOR EBX,EDX
.
.
.
00425063 . 3BC2 CMP EAX,EDX
00425065 . 5A POP EDX
00425066 . 5A POP EDX
00425067 . 11C8 ADC EAX,ECX
00425069 . 5B POP EBX
0042506A . 61 POPAD
0042506B . 60 PUSHAD
0042506C . E8 9AFFFFFF CALL ae5a3650.0042500B ;到这里,使用[F7]步入进去。
.
.
.
0042500B /$ B8 18000000 MOV EAX,18 ;步入到这里后,单步[F8]向下走。
00425010 |. 64:8B18 MOV EBX,DWORD PTR FS:[EAX]
00425013 |. 83C3 30 ADD EBX,30
00425016 \. C3 RETN ;这里单步[F8]后会跳。
.
.
.
00425071 . 8BC3 MOV EAX,EBX ;跳转返回到CALL的下一行,单步[F8]向下走。
00425073 . 3E:8B00 MOV EAX,DWORD PTR DS:[EAX]
00425076 . 40 INC EAX
00425077 . E8 9BFFFFFF CALL ae5a3650.00425017 ;到这里,使用[F7]步入进去。
.
.
.
00425017 /$ 40 INC EAX ;步入到这里后,单步[F8]向下走。
00425018 |. 3E:0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
0042501C |. C1E0 03 SHL EAX,3
0042501F |. 83C0 4F ADD EAX,4F
00425022 |. 36:010424 ADD DWORD PTR SS:[ESP],EAX
00425026 \. C3 RETN ;这里单步[F8]后会跳。
.
.
.
004250CB . 61 POPAD ;跳转返回到这里,单步[F8]向下走。
004250CC .- E9 7FEFFFFF JMP ae5a3650.00424050 ;这里单步[F8]后会跳。
004250D1 A2 DB A2
004250D2 . 02 DB 02
004250D3 . 54 6C ASCII "Tl"
004250D5 . 73 41 6C 6C 6>ASCII "sAlloc",0
.
.
.
00424050 60 PUSHAD ;跳转到这里后,单步[F8]向下走。
00424051 8BD8 MOV EBX,EAX
00424053 52 PUSH EDX
00424054 1BC0 SBB EAX,EAX
00424056 51 PUSH ECX
00424057 85D2 TEST EDX,EDX
.
.
.
004240A5 09C8 OR EAX,ECX
004240A7 59 POP ECX
004240A8 59 POP ECX
004240A9 59 POP ECX
004240AA 58 POP EAX
004240AB 61 POPAD
004240AC 60 PUSHAD
004240AD E8 75FFFFFF CALL ae5a3650.00424027 ;到这里,使用[F7]步入进去。
.
.
.
00424027 B8 18000000 MOV EAX,18 ;步入到这里后,单步[F8]向下走。
0042402C 64:8B18 MOV EBX,DWORD PTR FS:[EAX]
0042402F 83C3 30 ADD EBX,30
00424032 C3 RETN ;这里单步[F8]后会跳。
.
.
.
004240B2 8BC3 MOV EAX,EBX ;跳转返回到CALL的下一行,单步[F8]向下走。
004240B4 3E:8B00 MOV EAX,DWORD PTR DS:[EAX]
004240B7 40 INC EAX
004240B8 E8 76FFFFFF CALL ae5a3650.00424033 ;到这里,使用[F7]步入进去。
.
.
.
00424033 40 INC EAX ;步入到这里后,单步[F8]向下走。
00424034 3E:0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
00424038 C1E0 03 SHL EAX,3
0042403B 83C0 08 ADD EAX,8
0042403E 36:010424 ADD DWORD PTR SS:[ESP],EAX
00424042 C3 RETN ;这里单步[F8]后会跳。
.
.
.
004240C5 61 POPAD ;跳转到这里后,单步[F8]向下走。
004240C6 ^ E9 36FFFFFF JMP ae5a3650.00424001 ;这里单步[F8]后会大跳。
004240CB 0000 ADD BYTE PTR DS:[EAX],AL
004240CD 0000 ADD BYTE PTR DS:[EAX],AL
.
.
.
00424001 60 PUSHAD ;大跳到这里,使用单步[F8]向下走。。
00424002 B8 00304200 MOV EAX,ae5a3650.00423000
00424007 8130 5A03ADC7 XOR DWORD PTR DS:[EAX],C7AD035A
0042400D 8128 C268ADC7 SUB DWORD PTR DS:[EAX],C7AD68C2
00424013 83C0 04 ADD EAX,4
00424016 3D 1B304200 CMP EAX,ae5a3650.0042301B
0042401B ^ 7C EA JL SHORT ae5a3650.00424007 ;到这里后是回跳,我们不要按[F8]。
0042401D 61 POPAD ;在这里按[F4],执行到当前代码处。
0042401E 68 00304200 PUSH ae5a3650.00423000 ;[F8]单步步过
00424023 C3 RETN ;单步[F8]跳。
.
.
.
00423000 60 PUSHAD ;跳转到这里后,单步[F8]向下走。
00423001 90 NOP
00423002 90 NOP
00423003 90 NOP
00423004 90 NOP
00423005 90 NOP
00423006 90 NOP
00423007 5D POP EBP
00423008 90 NOP
00423009 90 NOP
0042300A 90 NOP
0042300B 90 NOP
0042300C 90 NOP
0042300D 90 NOP
0042300E 90 NOP
0042300F 90 NOP
00423010 90 NOP
00423011 90 NOP
00423012 90 NOP
00423013 03DD ADD EBX,EBP
00423015 68 00204200 PUSH ae5a3650.00422000
0042301A C3 RETN ;这里单步[F8]后会跳。
0042301B FF00 INC DWORD PTR DS:[EAX]
.
.
.
00422000 60 PUSHAD ;跳转到这里后,单步[F8]向下走。
00422001 9C PUSHFD
00422002 E8 16000000 CALL ae5a3650.0042201D ;到这里,使用[F7]步入进去。
00422007 C3 RETN
.
.
.
0042201D 58 POP EAX ;步入到这里后,单步[F8]向下走。
0042201E 83E8 07 SUB EAX,7
00422021 8BF0 MOV ESI,EAX
00422023 8BF8 MOV EDI,EAX
00422025 83C6 08 ADD ESI,8
00422028 83C7 10 ADD EDI,10
0042202B 6A 00 PUSH 0
0042202D 56 PUSH ESI
0042202E 57 PUSH EDI
0042202F 6A 00 PUSH 0
00422031 E8 62000000 CALL ae5a3650.00422098 ;到这里,使用[F7]步入进去。
.
.
.
00422098 5F POP EDI ;步入到这里后,单步[F8]向下走。
00422099 5E POP ESI
0042209A 50 PUSH EAX
0042209B 83C4 10 ADD ESP,10
0042209E 33C0 XOR EAX,EAX
004220A0 9D POPFD
004220A1 61 POPAD
004220A2 E9 00000000 JMP ae5a3650.004220A7
004220A7 EB 02 JMP SHORT ae5a3650.004220AB
004220A9 CD 20 INT 20
004220AB 68 00104200 PUSH ae5a3650.00421000
004220B0 C3 RETN ;这里单步[F8]后会跳。
004220B1 0000 ADD BYTE PTR DS:[EAX],AL
.
.
.
00421000 55 PUSH EBP ;跳转到这里后,单步[F8]向下走。
00421001 8BEC MOV EBP,ESP
00421003 6A FF PUSH -1
00421005 68 2A2C0A00 PUSH 0A2C2A
0042100A 68 38900D00 PUSH 0D9038
0042100F 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00421015 50 PUSH EAX
00421016 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0042101D 58 POP EAX
0042101E 64:A3 00000000 MOV DWORD PTR FS:[0],EAX
00421024 58 POP EAX
00421025 58 POP EAX
00421026 58 POP EAX
00421027 58 POP EAX
00421028 8BE8 MOV EBP,EAX
0042102A B8 00104000 MOV EAX,ae5a3650.00401000 ; ASCII "pepack"
0042102F 33C0 XOR EAX,EAX
00421031 90 NOP
00421032 68 00004200 PUSH ae5a3650.00420000
00421037 C3 RETN ;这里单步[F8]后会跳。
.
.
.
00420000 55 PUSH EBP ;跳转到这里后,单步[F8]向下走。
00420001 8BEC MOV EBP,ESP
00420003 83C4 F4 ADD ESP,-0C
00420006 83C4 0C ADD ESP,0C
00420009 B8 00104000 MOV EAX,ae5a3650.00401000 ; ASCII "pepack"
0042000E 33C0 XOR EAX,EAX
00420010 68 EC2F4100 PUSH ae5a3650.00412FEC
00420015 C3 RETN ;这里单步[F8]后会大跳。
.
.
.
00412FEC 55 PUSH EBP ;大跳到了这里,这里就是程序的真正入口点了,DUMP脱壳保存吧。
;看看下边的代码是多么熟悉啊,VC++6.0编译出来的PE结构就是这个样子的。
00412FED 8BEC MOV EBP,ESP
00412FEF 6A FF PUSH -1
00412FF1 68 F0A14100 PUSH ae5a3650.0041A1F0
00412FF6 68 78664100 PUSH ae5a3650.00416678
00412FFB 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00413001 50 PUSH EAX
00413002 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00413009 83EC 10 SUB ESP,10
0041300C 53 PUSH EBX
0041300D 56 PUSH ESI
0041300E 57 PUSH EDI
0041300F 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00413012 FF15 8CA04100 CALL DWORD PTR DS:[<&KERNEL32.GetVersion>; kernel32.GetVersion
总结:
我们DUMP出来的程序使用PEID查壳,显示为“Microsoft Visual C++ 6.0”。
这样说明我们把壳脱掉了,由于是病毒不用运行,所以就不修复和优化,OK完毕。
////////////////////////////////////////////////////////////////////////////////////////////
文件名称:手脱加PESpin 0.3x - 0.4x壳的病毒
目标程序:病毒样本“Trojan/PSW.Agent.eoy”程序
操作环境:Windows XP-SP2
使用工具:Ollydbg 1.10版
编写作者:Coderui
编写时间:2007年11月23日
联系方式:coderui@163.com
作者博客:http://hi.baidu.com/coderui
---------------------------------------------------------------------------------------------
前言:
个人感觉这个壳很有特点,虽然每天都重复着在做脱壳、分析病毒,但好久没写脱文发布了,今天就拿该病毒的壳作为例子和大家分享吧。
分析:
脱壳前,使用PEID V0.93查壳,显示壳名为:“PESpin 0.3x - 0.4x -> cyberbob”。看了下这个程序有16个节段,还真不少。EP区段名分别为:“.text/.rdata/.data/.peII/pepack/xh520/xh520/.MaskPE/.MaskPE/520xh/520mmym/pepack/.pepack/mumaba/pepack/mmym520”,显示连接程序版本为:2.0 。
注意:
如果大家分析的是应用软件加的壳,跑飞几次没什么关系。但如果分析的是病毒,那么就要千万小心了,因为有些未知病毒可能破坏力非常大的(比如PE感染型病毒)。不过最好还是养成仔细分析、细心调试的好习惯比较好(我喜欢真实环境,不太喜欢虚拟机,因为感觉不方便)。今天同样很幸运,依然只跟了一次,壳直接就脱掉了,哈哈!(^_^).
---------------------------------------------------------------------------------------------
手脱记录:
(OD设置为不忽略任何异常。[F2]:下软断点、[F4]:执行到当前代码处、[F7]:单步步入、[F8]单步步过、[F9]运行。)
---------------------------------------------------------------------------------------------
0042C000 > 60 PUSHAD ;OD载入后停在这里,单步[F8]向下走。
0042C001 90 NOP
0042C002 90 NOP
0042C003 90 NOP
0042C004 90 NOP
0042C005 90 NOP
0042C006 90 NOP
0042C007 5D POP EBP
0042C008 90 NOP
0042C009 90 NOP
0042C00A 90 NOP
0042C00B 90 NOP
0042C00C 90 NOP
0042C00D 90 NOP
0042C00E 90 NOP
0042C00F 90 NOP
0042C010 90 NOP
0042C011 90 NOP
0042C012 90 NOP
0042C013 03DD ADD EBX,EBP
0042C015 68 31504200 PUSH ae5a3650.00425031
0042C01A C3 RETN ;这里单步[F8]后会跳。
.
.
.
00425031 ? 60 PUSHAD ;跳到这里,单步[F8]向下走。
00425032 ? 03CB ADD ECX,EBX
00425034 ? 53 PUSH EBX
00425035 . 52 PUSH EDX
00425036 . 53 PUSH EBX
00425037 . 33DA XOR EBX,EDX
.
.
.
00425063 . 3BC2 CMP EAX,EDX
00425065 . 5A POP EDX
00425066 . 5A POP EDX
00425067 . 11C8 ADC EAX,ECX
00425069 . 5B POP EBX
0042506A . 61 POPAD
0042506B . 60 PUSHAD
0042506C . E8 9AFFFFFF CALL ae5a3650.0042500B ;到这里,使用[F7]步入进去。
.
.
.
0042500B /$ B8 18000000 MOV EAX,18 ;步入到这里后,单步[F8]向下走。
00425010 |. 64:8B18 MOV EBX,DWORD PTR FS:[EAX]
00425013 |. 83C3 30 ADD EBX,30
00425016 \. C3 RETN ;这里单步[F8]后会跳。
.
.
.
00425071 . 8BC3 MOV EAX,EBX ;跳转返回到CALL的下一行,单步[F8]向下走。
00425073 . 3E:8B00 MOV EAX,DWORD PTR DS:[EAX]
00425076 . 40 INC EAX
00425077 . E8 9BFFFFFF CALL ae5a3650.00425017 ;到这里,使用[F7]步入进去。
.
.
.
00425017 /$ 40 INC EAX ;步入到这里后,单步[F8]向下走。
00425018 |. 3E:0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
0042501C |. C1E0 03 SHL EAX,3
0042501F |. 83C0 4F ADD EAX,4F
00425022 |. 36:010424 ADD DWORD PTR SS:[ESP],EAX
00425026 \. C3 RETN ;这里单步[F8]后会跳。
.
.
.
004250CB . 61 POPAD ;跳转返回到这里,单步[F8]向下走。
004250CC .- E9 7FEFFFFF JMP ae5a3650.00424050 ;这里单步[F8]后会跳。
004250D1 A2 DB A2
004250D2 . 02 DB 02
004250D3 . 54 6C ASCII "Tl"
004250D5 . 73 41 6C 6C 6>ASCII "sAlloc",0
.
.
.
00424050 60 PUSHAD ;跳转到这里后,单步[F8]向下走。
00424051 8BD8 MOV EBX,EAX
00424053 52 PUSH EDX
00424054 1BC0 SBB EAX,EAX
00424056 51 PUSH ECX
00424057 85D2 TEST EDX,EDX
.
.
.
004240A5 09C8 OR EAX,ECX
004240A7 59 POP ECX
004240A8 59 POP ECX
004240A9 59 POP ECX
004240AA 58 POP EAX
004240AB 61 POPAD
004240AC 60 PUSHAD
004240AD E8 75FFFFFF CALL ae5a3650.00424027 ;到这里,使用[F7]步入进去。
.
.
.
00424027 B8 18000000 MOV EAX,18 ;步入到这里后,单步[F8]向下走。
0042402C 64:8B18 MOV EBX,DWORD PTR FS:[EAX]
0042402F 83C3 30 ADD EBX,30
00424032 C3 RETN ;这里单步[F8]后会跳。
.
.
.
004240B2 8BC3 MOV EAX,EBX ;跳转返回到CALL的下一行,单步[F8]向下走。
004240B4 3E:8B00 MOV EAX,DWORD PTR DS:[EAX]
004240B7 40 INC EAX
004240B8 E8 76FFFFFF CALL ae5a3650.00424033 ;到这里,使用[F7]步入进去。
.
.
.
00424033 40 INC EAX ;步入到这里后,单步[F8]向下走。
00424034 3E:0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
00424038 C1E0 03 SHL EAX,3
0042403B 83C0 08 ADD EAX,8
0042403E 36:010424 ADD DWORD PTR SS:[ESP],EAX
00424042 C3 RETN ;这里单步[F8]后会跳。
.
.
.
004240C5 61 POPAD ;跳转到这里后,单步[F8]向下走。
004240C6 ^ E9 36FFFFFF JMP ae5a3650.00424001 ;这里单步[F8]后会大跳。
004240CB 0000 ADD BYTE PTR DS:[EAX],AL
004240CD 0000 ADD BYTE PTR DS:[EAX],AL
.
.
.
00424001 60 PUSHAD ;大跳到这里,使用单步[F8]向下走。。
00424002 B8 00304200 MOV EAX,ae5a3650.00423000
00424007 8130 5A03ADC7 XOR DWORD PTR DS:[EAX],C7AD035A
0042400D 8128 C268ADC7 SUB DWORD PTR DS:[EAX],C7AD68C2
00424013 83C0 04 ADD EAX,4
00424016 3D 1B304200 CMP EAX,ae5a3650.0042301B
0042401B ^ 7C EA JL SHORT ae5a3650.00424007 ;到这里后是回跳,我们不要按[F8]。
0042401D 61 POPAD ;在这里按[F4],执行到当前代码处。
0042401E 68 00304200 PUSH ae5a3650.00423000 ;[F8]单步步过
00424023 C3 RETN ;单步[F8]跳。
.
.
.
00423000 60 PUSHAD ;跳转到这里后,单步[F8]向下走。
00423001 90 NOP
00423002 90 NOP
00423003 90 NOP
00423004 90 NOP
00423005 90 NOP
00423006 90 NOP
00423007 5D POP EBP
00423008 90 NOP
00423009 90 NOP
0042300A 90 NOP
0042300B 90 NOP
0042300C 90 NOP
0042300D 90 NOP
0042300E 90 NOP
0042300F 90 NOP
00423010 90 NOP
00423011 90 NOP
00423012 90 NOP
00423013 03DD ADD EBX,EBP
00423015 68 00204200 PUSH ae5a3650.00422000
0042301A C3 RETN ;这里单步[F8]后会跳。
0042301B FF00 INC DWORD PTR DS:[EAX]
.
.
.
00422000 60 PUSHAD ;跳转到这里后,单步[F8]向下走。
00422001 9C PUSHFD
00422002 E8 16000000 CALL ae5a3650.0042201D ;到这里,使用[F7]步入进去。
00422007 C3 RETN
.
.
.
0042201D 58 POP EAX ;步入到这里后,单步[F8]向下走。
0042201E 83E8 07 SUB EAX,7
00422021 8BF0 MOV ESI,EAX
00422023 8BF8 MOV EDI,EAX
00422025 83C6 08 ADD ESI,8
00422028 83C7 10 ADD EDI,10
0042202B 6A 00 PUSH 0
0042202D 56 PUSH ESI
0042202E 57 PUSH EDI
0042202F 6A 00 PUSH 0
00422031 E8 62000000 CALL ae5a3650.00422098 ;到这里,使用[F7]步入进去。
.
.
.
00422098 5F POP EDI ;步入到这里后,单步[F8]向下走。
00422099 5E POP ESI
0042209A 50 PUSH EAX
0042209B 83C4 10 ADD ESP,10
0042209E 33C0 XOR EAX,EAX
004220A0 9D POPFD
004220A1 61 POPAD
004220A2 E9 00000000 JMP ae5a3650.004220A7
004220A7 EB 02 JMP SHORT ae5a3650.004220AB
004220A9 CD 20 INT 20
004220AB 68 00104200 PUSH ae5a3650.00421000
004220B0 C3 RETN ;这里单步[F8]后会跳。
004220B1 0000 ADD BYTE PTR DS:[EAX],AL
.
.
.
00421000 55 PUSH EBP ;跳转到这里后,单步[F8]向下走。
00421001 8BEC MOV EBP,ESP
00421003 6A FF PUSH -1
00421005 68 2A2C0A00 PUSH 0A2C2A
0042100A 68 38900D00 PUSH 0D9038
0042100F 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00421015 50 PUSH EAX
00421016 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
0042101D 58 POP EAX
0042101E 64:A3 00000000 MOV DWORD PTR FS:[0],EAX
00421024 58 POP EAX
00421025 58 POP EAX
00421026 58 POP EAX
00421027 58 POP EAX
00421028 8BE8 MOV EBP,EAX
0042102A B8 00104000 MOV EAX,ae5a3650.00401000 ; ASCII "pepack"
0042102F 33C0 XOR EAX,EAX
00421031 90 NOP
00421032 68 00004200 PUSH ae5a3650.00420000
00421037 C3 RETN ;这里单步[F8]后会跳。
.
.
.
00420000 55 PUSH EBP ;跳转到这里后,单步[F8]向下走。
00420001 8BEC MOV EBP,ESP
00420003 83C4 F4 ADD ESP,-0C
00420006 83C4 0C ADD ESP,0C
00420009 B8 00104000 MOV EAX,ae5a3650.00401000 ; ASCII "pepack"
0042000E 33C0 XOR EAX,EAX
00420010 68 EC2F4100 PUSH ae5a3650.00412FEC
00420015 C3 RETN ;这里单步[F8]后会大跳。
.
.
.
00412FEC 55 PUSH EBP ;大跳到了这里,这里就是程序的真正入口点了,DUMP脱壳保存吧。
;看看下边的代码是多么熟悉啊,VC++6.0编译出来的PE结构就是这个样子的。
00412FED 8BEC MOV EBP,ESP
00412FEF 6A FF PUSH -1
00412FF1 68 F0A14100 PUSH ae5a3650.0041A1F0
00412FF6 68 78664100 PUSH ae5a3650.00416678
00412FFB 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00413001 50 PUSH EAX
00413002 64:8925 0000000>MOV DWORD PTR FS:[0],ESP
00413009 83EC 10 SUB ESP,10
0041300C 53 PUSH EBX
0041300D 56 PUSH ESI
0041300E 57 PUSH EDI
0041300F 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00413012 FF15 8CA04100 CALL DWORD PTR DS:[<&KERNEL32.GetVersion>; kernel32.GetVersion
总结:
我们DUMP出来的程序使用PEID查壳,显示为“Microsoft Visual C++ 6.0”。
这样说明我们把壳脱掉了,由于是病毒不用运行,所以就不修复和优化,OK完毕。
////////////////////////////////////////////////////////////////////////////////////////////
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
看原图
赞赏
雪币:
留言: