木马可谓是见缝就插,想尽一切办法,让自身加载到内存运行。今天却 碰一个人慈的马儿,不多得儿。拿来看看.....
00404373 |> /68 346F4000 PUSH Worm_Win.00406F34 ; /pLocaltime = Worm_Win.00406F34
00404378 |. E8 B3F5FFFF CALL <JMP.&KERNEL32.GetLocalTime> ; /GetLocalTime
0040437D |. BA 24674000 MOV EDX,Worm_Win.00406724
00404382 |. B8 7C454000 MOV EAX,Worm_Win.0040457C ; ASCII "ZERO"
00404387 |. E8 00F9FFFF CALL Worm_Win.00403C8C ; get static date
0040438C |. 8BD8 MOV EBX,EAX
0040438E |. 0FB705 346F40>MOVZX EAX,WORD PTR DS:[406F34]
00404395 |. 69C0 90010000 IMUL EAX,EAX,190
0040439B |. 0FB715 366F40>MOVZX EDX,WORD PTR DS:[406F36]
004043A2 |. C1E2 03 SHL EDX,3
004043A5 |. 8D1492 LEA EDX,DWORD PTR DS:[EDX+EDX*4]
004043A8 |. 03C2 ADD EAX,EDX
004043AA |. 0FB715 3A6F40>MOVZX EDX,WORD PTR DS:[406F3A]
004043B1 |. 03C2 ADD EAX,EDX
004043B3 |. 0FB713 MOVZX EDX,WORD PTR DS:[EBX]
004043B6 |. 69D2 90010000 IMUL EDX,EDX,190
004043BC |. 0FB74B 02 MOVZX ECX,WORD PTR DS:[EBX+2]
004043C0 |. C1E1 03 SHL ECX,3
004043C3 |. 8D0C89 LEA ECX,DWORD PTR DS:[ECX+ECX*4]
004043C6 |. 03D1 ADD EDX,ECX
004043C8 |. 0FB74B 06 MOVZX ECX,WORD PTR DS:[EBX+6]
004043CC |. 03D1 ADD EDX,ECX
004043CE |. 3BD0 CMP EDX,EAX
004043D0 |. 0F82 3B010000 JB Worm_Win.00404511
大概是这样的:
EAX = 2007(年) * 400 + 4(月) * 2^3 * 5 + 5(日)
EDX = 2007(年) * 400 + 1(月) * 2^3 * 5 + 1(日)
if (EDX <= EAX)
结束程序
else
安家,加载 ....
00404373 |> /68 346F4000 PUSH Worm_Win.00406F34 ; /pLocaltime = Worm_Win.00406F34
00404378 |. E8 B3F5FFFF CALL <JMP.&KERNEL32.GetLocalTime> ; /GetLocalTime
0040437D |. BA 24674000 MOV EDX,Worm_Win.00406724
00404382 |. B8 7C454000 MOV EAX,Worm_Win.0040457C ; ASCII "ZERO"
00404387 |. E8 00F9FFFF CALL Worm_Win.00403C8C ; get static date
0040438C |. 8BD8 MOV EBX,EAX
0040438E |. 0FB705 346F40>MOVZX EAX,WORD PTR DS:[406F34]
00404395 |. 69C0 90010000 IMUL EAX,EAX,190
0040439B |. 0FB715 366F40>MOVZX EDX,WORD PTR DS:[406F36]
004043A2 |. C1E2 03 SHL EDX,3
004043A5 |. 8D1492 LEA EDX,DWORD PTR DS:[EDX+EDX*4]
004043A8 |. 03C2 ADD EAX,EDX
004043AA |. 0FB715 3A6F40>MOVZX EDX,WORD PTR DS:[406F3A]
004043B1 |. 03C2 ADD EAX,EDX
004043B3 |. 0FB713 MOVZX EDX,WORD PTR DS:[EBX]
004043B6 |. 69D2 90010000 IMUL EDX,EDX,190
004043BC |. 0FB74B 02 MOVZX ECX,WORD PTR DS:[EBX+2]
004043C0 |. C1E1 03 SHL ECX,3
004043C3 |. 8D0C89 LEA ECX,DWORD PTR DS:[ECX+ECX*4]
004043C6 |. 03D1 ADD EDX,ECX
004043C8 |. 0FB74B 06 MOVZX ECX,WORD PTR DS:[EBX+6]
004043CC |. 03D1 ADD EDX,ECX
004043CE |. 3BD0 CMP EDX,EAX
004043D0 |. 0F82 3B010000 JB Worm_Win.00404511
大概是这样的:
EAX = 2007(年) * 400 + 4(月) * 2^3 * 5 + 5(日)
EDX = 2007(年) * 400 + 1(月) * 2^3 * 5 + 1(日)
if (EDX <= EAX)
结束程序
else
安家,加载 ....