Все становится интересней.
Сейчас попросил покрыть тот-же проект у человека с легальной VMProt 3.0.5.
Мутация вообще не произведена:
Т.е все оставлено в том виде как и было
Code: Select all
CPU Disasm
Address Hex dump Command Comments
008AA311 55 PUSH EBP
008AA312 8BEC MOV EBP,ESP
008AA314 A1 C0D74D00 MOV EAX,DWORD PTR DS:[4DD7C0]
008AA319 BA 30534D00 MOV EDX,004D5330 ; UNICODE "Morphed code"
008AA31E E8 C5DCB5FF CALL 00407FE8
008AA323 E8 00DFB5FF CALL 00408228
008AA328 E8 CFC4B5FF CALL 004067FC
008AA32D 5D POP EBP
008AA32E C3 RETN
Это как так?
Ладно смотрю VM, общего цикла нет, уже хорошо. Инструкции пикода с ESI забираются непосредственно в хэндлерах, но...
Рассмотрим хэндлер:
Code: Select all
00899985 0FB606 MOVZX EAX,BYTE PTR [ESI]
00899988 81C6 01000000 ADD ESI,1
0089998E 33CC XOR ECX,ESP
00899990 03CF ADD ECX,EDI
00899992 32C3 XOR AL,BL
00899994 66:8BCF MOV CX,DI
00899997 0F98C5 SETS CH
0089999A FEC0 INC AL
0089999C 80D1 F5 ADC CL,0F5
0089999F F6D8 NEG AL
008999A1 0FBAF9 F1 BTC ECX,0F1 ; Shift out of range
008999A5 3AD4 CMP DL,AH
008999A7 66:81C9 0363 OR CX,6303
008999AC 34 65 XOR AL,65
008999AE 0FC9 BSWAP ECX
008999B0 66:81C1 8465 ADD CX,6584
008999B5 66:81E1 1559 AND CX,5915
008999BA 2C 96 SUB AL,96
008999BC 0FBFC9 MOVSX ECX,CX
008999BF 66:0FB6CF MOVZX CX,BH
008999C3 66:81E9 2B4F SUB CX,4F2B
008999C8 32D8 XOR BL,AL
008999CA F9 STC
008999CB 0FC9 BSWAP ECX
008999CD 8B4C25 00 MOV ECX,DWORD PTR [EBP]
008999D1 F5 CMC
008999D2 81C5 04000000 ADD EBP,4
008999D8 F8 CLC
008999D9 890C04 MOV DWORD PTR [EAX+ESP],ECX
008999DC C0C4 7D ROL AH,7D ; Shift out of range
008999DF 66:F7D8 NEG AX
008999E2 66:81FE BD10 CMP SI,10BD
008999E7 8B06 MOV EAX,DWORD PTR [ESI]
008999E9 66:85C6 TEST SI,AX
008999EC 81C6 04000000 ADD ESI,4
008999F2 85D8 TEST EAX,EBX
008999F4 33C3 XOR EAX,EBX
008999F6 F7D8 NEG EAX
008999F8 F7D0 NOT EAX
008999FA 40 INC EAX
008999FB 85C3 TEST EBX,EAX
008999FD F7D8 NEG EAX
008999FF F5 CMC
00899A00 F8 CLC
00899A01 33D8 XOR EBX,EAX
00899A03 03F8 ADD EDI,EAX
00899A05 57 PUSH EDI
00899A06 C3 RET
Вот мне страшно на такое смотреть ибо это даже руками чистится на глазок и превращается вот в такое:
Code: Select all
00899985 0FB606 MOVZX EAX,BYTE PTR [ESI]
00899988 81C6 01000000 ADD ESI,1
008999CD 8B4C25 00 MOV ECX,DWORD PTR [EBP]
00899992 32C3 XOR AL,BL
0089999A FEC0 INC AL
008999AC 34 65 XOR AL,65
008999BA 2C 96 SUB AL,96
008999C8 32D8 XOR BL,AL
008999D2 81C5 04000000 ADD EBP,4
008999D9 890C04 MOV DWORD PTR [EAX+ESP],ECX
008999E7 8B06 MOV EAX,DWORD PTR [ESI]
008999EC 81C6 04000000 ADD ESI,4
008999F4 33C3 XOR EAX,EBX
008999F6 F7D8 NEG EAX
008999F8 F7D0 NOT EAX
008999FA 40 INC EAX
008999FD F7D8 NEG EAX
00899A01 33D8 XOR EBX,EAX
00899A03 03F8 ADD EDI,EAX
00899A05 57 PUSH EDI
00899A06 C3 RET
А где обфускация?
Мы уже подали заявку на покупку вашего ПО, поэтому разъясните данные вопросы.