AngelQQ Dump
软件 :Q宠天使
作者 :QQPetAngel@Gmail.com
下载地址 :http://angel.tt86.com/?qqdrsign=05bf1
http://bbs.tt86.com/thread.php?fid=58
我在看雪发了帖子:http://bbs.pediy.com/showthread.php?t=142826
软件加了两层壳,第一层是ASPack,第二次就是UPX压缩壳
脱壳前:ASPack 2.12 -> Alexey Solodovnikov
脱壳后:Microsoft Visual Basic 5.0 / 6.0
005BE001 > 60 PUSHAD
005BE002 E8 03000000 CALL QQ.005BE00A ;关键F7
005BE007 - E9 EB045D45 JMP 45B8E4F7
005BE00C 55 PUSH EBP
005BE00D C3 RETN
005BE008 /EB 04 JMP SHORT QQ.005BE00E
005BE00A 5D POP EBP
;堆栈 [0012FFA0]=005BE007 (QQ.005BE007) EBP=0012FFF0
005BE00B 45 INC EBP ; QQ.005BE007
005BE00C 55 PUSH EBP
005BE00D C3 RETN ;返回到 005BE008
005BE00E E8 01000000 CALL QQ.005BE014 ;关键 F7
005BE013 EB 5D JMP SHORT QQ.005BE072
005BE2AD 8B95 7D040000 MOV EDX,DWORD PTR SS:[EBP+47D]
005BE2B3 8B06 MOV EAX,DWORD PTR DS:[ESI]
005BE2B5 85C0 TEST EAX,EAX
005BE2B7 75 03 JNZ SHORT QQ.005BE2BC
005BE2B9 8B46 10 MOV EAX,DWORD PTR DS:[ESI+10]
005BE2BC 03C2 ADD EAX,EDX
005BE2BE 0385 A5050000 ADD EAX,DWORD PTR SS:[EBP+5A5]
005BE2C4 8B18 MOV EBX,DWORD PTR DS:[EAX]
005BE2C6 8B7E 10 MOV EDI,DWORD PTR DS:[ESI+10]
005BE379 ^\E9 2FFFFFFF JMP QQ.005BE2AD
005BE37E 8906 MOV DWORD PTR DS:[ESI],EAX
005BE380 8946 0C MOV DWORD PTR DS:[ESI+C],EAX
005BE383 8946 10 MOV DWORD PTR DS:[ESI+10],EAX
005BE38F ^\E9 E8FEFFFF JMP QQ.005BE27C
005BE394 8BB5 7D040000 MOV ESI,DWORD PTR SS:[EBP+47D]
005BE39A 8B7E 3C MOV EDI,DWORD PTR DS:[ESI+3C]
005BADAE ^\EB 9F JMP SHORT QQ.005BAD4F
005BADB0 294424 48 SUB DWORD PTR SS:[ESP+48],EAX
005BADB4 29C7 SUB EDI,EAX
005BADC6 ^\EB 87 JMP SHORT QQ.005BAD4F
005BADC8 8B5424 74 MOV EDX,DWORD PTR SS:[ESP+74]
005BADCC 89F0 MOV EAX,ESI
005BB51B ^\0F82 BBF6FFFF JB QQ.005BABDC
005BB521 817C24 48 FFFFF>CMP DWORD PTR SS:[ESP+48],0FFFFFF
005BB529 77 15 JA SHORT QQ.005BB540
005BB52B 3B5C24 4C CMP EBX,DWORD PTR SS:[ESP+4C]
005BB5FD ^\EB D8 JMP SHORT QQ.005BB5D7
005BB5FF FF96 5CC71B00 CALL DWORD PTR DS:[ESI+1BC75C]
005BB605 8BAE 50C71B00 MOV EBP,DWORD PTR DS:[ESI+1BC750]
;F2,F4断点这里,就可以找到程序入口
005BB60B 8DBE 00F0FFFF LEA EDI,DWORD PTR DS:[ESI-1000]
005BB611 BB 00100000 MOV EBX,1000
005BB616 50 PUSH EAX
005BB617 54 PUSH ESP
005BB618 6A 04 PUSH 4
005BB61A 53 PUSH EBX
005BB61B 57 PUSH EDI
005BB61C FFD5 CALL EBP
005BB61E 8D87 E7010000 LEA EAX,DWORD PTR DS:[EDI+1E7]
005BB624 8020 7F AND BYTE PTR DS:[EAX],7F
005BB627 8060 28 7F AND BYTE PTR DS:[EAX+28],7F
005BB62B 58 POP EAX
005BB62C 50 PUSH EAX
005BB62D 54 PUSH ESP
005BB62E 50 PUSH EAX
005BB62F 53 PUSH EBX
005BB630 57 PUSH EDI
005BB631 FFD5 CALL EBP
005BB633 58 POP EAX
005BB634 61 POPAD
005BB635 8D4424 80 LEA EAX,DWORD PTR SS:[ESP-80]
005BB639 6A 00 PUSH 0
005BB63B 39C4 CMP ESP,EAX
005BB63D ^ 75 FA JNZ SHORT TM0611.005BB639
005BB63F 83EC 80 SUB ESP,-80
005BB642 - E9 59DCE4FF JMP TM0611.004092A0
004092A0 68 8C9A4000 PUSH QQ.00409A8C
; ASCII "VB5!6&vb6chs.dll" 入口点停在此处可以脱了
; (点右键后选"用ollyDUMP脱壳调试进程",再点击DUMP脱壳)
004092A5 E8 F0FFFFFF CALL QQ.0040929A
; JMP 到 msvbvm60.ThunRTMain VB,main函数
004092AA 0000 ADD BYTE PTR DS:[EAX],AL
004092AC 50 PUSH EAX
004092AD 0000 ADD BYTE PTR DS:[EAX],AL
004092AF 0030 ADD BYTE PTR DS:[EAX],DH
004092B1 0000 ADD BYTE PTR DS:[EAX],AL
004092B3 0048 00 ADD BYTE PTR DS:[EAX],CL
004092B6 0000 ADD BYTE PTR DS:[EAX],AL
程序能正常运行,但是修改软件资源的时候,报下面的错误,应该是UPX0,UPX1内容还在里面,脱壳只是把程序入口点修正确.
注:用 LoadPE 修正映像大小后完全 DUMP.用 ImportREC 修正dump.exe一样无效。
---------------------------
upx.exe - 应用程序错误
---------------------------
"0x004813dc" 指令引用的 "0x2ae9b96c" 内存。该内存不能为 "read"。
要终止程序,请单击“确定”。
要调试程序,请单击“取消”。
---------------------------
确定 取消
---------------------------
病毒信息 :001aa84a.exe Artemis!6DF3F680BB6 ;猜测应该是upx.exe本身作为资源被杀软查杀
OEP 000092A0
RVA 00001000
size 00000444