音速启动 (VStart)
UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
方式1:
00674FE0 > $ 60 PUSHAD
在程序入口(刚加载的地方)F4直接进入下面的
00411B60 68 1C2D4100 PUSH VStart.00412D1C ; ASCII "VB5!6&vb6chs.dll"
00411B65 E8 F0FFFFFF CALL VStart.00411B5A ; JMP 到 MSVBVM60.ThunRTMain
方式2:
0067511D . F2:AE REPNE SCAS BYTE PTR ES:[EDI]
0067511F . 55 PUSH EBP
00675120 . FF96 E0822700 CALL DWORD PTR DS:[ESI+2782E0]
00675126 . 09C0 OR EAX,EAX
00675128 . 74 07 JE SHORT VStart.00675131
0067512A . 8903 MOV DWORD PTR DS:[EBX],EAX
0067512C . 83C3 04 ADD EBX,4
0067512F .^ EB D8 JMP SHORT VStart.00675109
00675131 > FF96 F0822700 CALL DWORD PTR DS:[ESI+2782F0]
00675137 > 8BAE E4822700 MOV EBP,DWORD PTR DS:[ESI+2782E4]
0067513D . 8DBE 00F0FFFF LEA EDI,DWORD PTR DS:[ESI-1000]
00675143 . BB 00100000 MOV EBX,1000
00675148 . 50 PUSH EAX
00675149 . 54 PUSH ESP
0067514A . 6A 04 PUSH 4
0067514C . 53 PUSH EBX
0067514D . 57 PUSH EDI
0067514E . FFD5 CALL EBP
00675150 . 8D87 E7010000 LEA EAX,DWORD PTR DS:[EDI+1E7]
00675156 . 8020 7F AND BYTE PTR DS:[EAX],7F
00675159 . 8060 28 7F AND BYTE PTR DS:[EAX+28],7F
0067515D . 58 POP EAX
0067515E . 50 PUSH EAX
0067515F . 54 PUSH ESP
00675160 . 50 PUSH EAX
00675161 . 53 PUSH EBX
00675162 . 57 PUSH EDI
00675163 . FFD5 CALL EBP
00675165 . 58 POP EAX
00675166 . 61 POPAD
00675167 . 8D4424 80 LEA EAX,DWORD PTR SS:[ESP-80]
0067516B > 6A 00 PUSH 0
0067516D . 39C4 CMP ESP,EAX
0067516F .^ 75 FA JNZ SHORT VStart.0067516B
00675171 . 83EC 80 SUB ESP,-80
00675174 .- E9 E7C9D9FF JMP VStart.00411B60 --F7步进
00411B60 68 1C2D4100 PUSH VStart.00412D1C ; ASCII "VB5!6&vb6chs.dll"
00411B65 E8 F0FFFFFF CALL VStart.00411B5A ; JMP 到 MSVBVM60.ThunRTMain
天气服务
http://www.webxml.com.cn/WebServices/WeatherWS.asmx/getWeather?theUserID=&theCityCode=
数据比较:
UPX 加过壳的VStart大小 :900 KB (921,600 字节)
脱壳后的大小 :2.48 MB (2,600,960 字节)