幽雅的心 发表于 2010-12-3 10:37:32

无聊贴个vmp1.8+ antidump分析(转自nooby)

例子一共V了2行

00401000    60            pushad
00401001    8B7424 24       mov   esi, dword ptr
         VM INIT ESP :
         [+00] <- RELOC
         [+01] <- ANTIDUMP                                       ----------------这个值每次启动不同
         [+02] <- EDI
         [+03] <- ECX
         [+04] <- EBX
         [+05] <- EBP
         [+06] <- ESI
         [+07] <- EAX
         [+08] <- EAX
         [+09] <- EFL
         [+0A] <- EDX
         [+0B] <- RETADDR
         [+0C] <- INITDATA


00415EC0    SetR32         r2
00415EC1    GetI32         EDA046E4
00415EC6    add32
00415EC7    SetR32         r1
00415EC8    SetR32         r11                   ---------------取antidump + 0xEDA046E4 -> r11
00415EC9    SetR32         r5
00415ECA    SetR32         r9
00415ECB    SetR32         r1
00415ECC    SetR32         r0
00415ECD    SetR32         r14
00415ECE    SetR32         r6
00415ECF    SetR32         r4
00415ED0    SetR32         r7
00415ED1    SetR32         r13
00415ED2    SetR32         r15
00415ED3    SetR32         r10
00415ED4    GetR32         r7
00415ED5    GetR32         r6
00415ED6    GetR32         r9
00415ED7    GetR32         r13
00415ED8    GetR32         r1
00415ED9    GetI8To32      00000001
00415EDB    SetR32         r3
00415EDC    GetR32         r3
00415EDD    cpuid                                  ---------------antidump内容
00415EDE    SetR32         r10
00415EDF    SetR32         r15
00415EE0    SetR32         r8
00415EE1    SetR32         r9
00415EE2    GetI8To32      0000000F
00415EE4    GetR32         r9
00415EE5    GetR32         r9
00415EE6    nor32
00415EE7    SetR32         r3
00415EE8    nor32
00415EE9    SetR32         r1
00415EEA    SetR32         r1
00415EEB    GetI32         FF000000
00415EF0    GetR32         r8
00415EF1    GetESP
00415EF2    RmSs32
00415EF3    nor32
00415EF4    SetR32         r6
00415EF5    nor32
00415EF6    SetR32         r12
00415EF7    SetR32         r6
00415EF8    GetI32         E41FA8EF
00415EFD    GetR32         r1
00415EFE    GetR32         r1
00415EFF    nor32
00415F00    SetR32         r13
00415F01    nor32
00415F02    SetR32         r3
00415F03    GetR32         r1
00415F04    GetI32         1BE05710
00415F09    nor32
00415F0A    SetR32         r13
00415F0B    nor32
00415F0C    SetR32         r3
00415F0D    SetR32         r8
00415F0E    GetI32         873188AA
00415F13    GetR32         r15
00415F14    GetESP
00415F15    RmSs32
00415F16    nor32
00415F17    SetR32         r1
00415F18    nor32
00415F19    SetR32         r3
00415F1A    GetR32         r15
00415F1B    GetI32         78CE7755
00415F20    nor32
00415F21    SetR32         r12
00415F22    nor32
00415F23    SetR32         r9
00415F24    SetR32         r13
00415F25    GetI32         C3BF5351
00415F2A    GetR32         r10
00415F2B    GetR32         r10
00415F2C    nor32
00415F2D    SetR32         r3
00415F2E    nor32
00415F2F    SetR32         r3
00415F30    GetI32         3C40ACAE
00415F35    GetR32         r10
00415F36    nor32
00415F37    SetR32         r12
00415F38    nor32
00415F39    SetR32         r12
00415F3A    SetR32         r15
00415F3B    GetI32         9C3A6494
00415F40    GetR32         r6
00415F41    GetR32         r6
00415F42    nor32
00415F43    SetR32         r10
00415F44    nor32
00415F45    SetR32         r9
00415F46    GetR32         r6
00415F47    GetI32         63C59B6B
00415F4C    nor32
00415F4D    SetR32         r3
00415F4E    nor32
00415F4F    SetR32         r3
00415F50    SetR32         r10
00415F51    GetR32         r10
00415F52    GetR32         r8
00415F53    add32
00415F54    SetR32         r3
00415F55    SetR32         r12
00415F56    GetR32         r11
00415F57    GetR32         r11
00415F58    nor32
00415F59    SetR32         r6
00415F5A    GetR32         r12
00415F5B    GetESP
00415F5C    RmSs32
00415F5D    nor32
00415F5E    SetR32         r6
00415F5F    nor32
00415F60    SetR32         r1
00415F61    GetR32         r12
00415F62    GetR32         r11
00415F63    nor32
00415F64    SetR32         r6
00415F65    nor32
00415F66    SetR32         r1
00415F67    SetR32         r1
00415F68    GetR32         r15
00415F69    GetR32         r1
00415F6A    add32
00415F6B    SetR32         r9
00415F6C    SetR32         r6
00415F6D    GetI8To16      001A
00415F6F    GetR32         r6
00415F70    GetESP
00415F71    RmSs32
00415F72    shrd
00415F73    SetR32         r12
00415F74    SetR32         r3
00415F75    GetR32         r3
00415F76    GetR32         r3
00415F77    nor32
00415F78    SetR32         r12
00415F79    SetR32         r1
00415F7A    GetI32         6A360E46
00415F7F    GetR32         r1
00415F80    GetESP
00415F81    RmSs32
00415F82    nor32
00415F83    SetR32         r12
00415F84    add32
00415F85    SetR32         r7
00415F86    GetESP
00415F87    RmSs32
00415F88    nor32
00415F89    SetR32         r3
00415F8A    SetR32         r9
00415F8B    GetR32         r7
00415F8C    GetR32         r7
00415F8D    nor32
00415F8E    SetR32         r6
00415F8F    GetI16To32       FFFFF7EA
00415F92    nor32
00415F93    SetR32         r1
00415F94    GetR32         r3
00415F95    GetR32         r3
00415F96    nor32
00415F97    SetR32         r4
00415F98    GetI16To32       00000815
00415F9B    nor32
00415F9C    SetR32         r4
00415F9D    add32
00415F9E    SetR32         r6
00415F9F    SetR32         r12
00415FA0    GetI8To16      000F
00415FA2    GetR32         r9
00415FA3    GetESP
00415FA4    RmSs32
00415FA5    shld
00415FA6    SetR32         r1
00415FA7    SetR32         r4
00415FA8    GetR32         r11
00415FA9    GetI8To32      00000034
00415FAB    add32
00415FAC    SetR32         r1
00415FAD    RmDs32                                    -------------------取r11 + 0x34
00415FAE    SetR32         r1
00415FAF    GetI8To16      001A
00415FB1    GetR32         r1
00415FB2    GetESP
00415FB3    RmSs32
00415FB4    shrd
00415FB5    SetR32         r6
00415FB6    SetR32         r7
00415FB7    GetR32         r7
00415FB8    GetESP
00415FB9    RmSs32
00415FBA    nor32
00415FBB    SetR32         r10
00415FBC    SetR32         r9
00415FBD    GetI32         6A360E46
00415FC2    GetR32         r9
00415FC3    GetESP
00415FC4    RmSs32
00415FC5    nor32
00415FC6    SetR32         r10
00415FC7    add32
00415FC8    SetR32         r8
00415FC9    GetESP
00415FCA    RmSs32
00415FCB    nor32
00415FCC    SetR32         r7
00415FCD    SetR32         r1
00415FCE    GetR32         r8
00415FCF    GetR32         r8
00415FD0    nor32
00415FD1    SetR32         r12
00415FD2    GetI16To32       FFFFF7EA
00415FD5    nor32
00415FD6    SetR32         r12
00415FD7    GetR32         r7
00415FD8    GetR32         r7
00415FD9    nor32
00415FDA    SetR32         r9
00415FDB    GetI16To32       00000815
00415FDE    nor32
00415FDF    SetR32         r9
00415FE0    add32
00415FE1    SetR32         r10
00415FE2    SetR32         r6
00415FE3    GetI8To16      000F
00415FE5    GetR32         r1
00415FE6    GetESP
00415FE7    RmSs32
00415FE8    shld
00415FE9    SetR32         r10
00415FEA    SetR32         r8
00415FEB    GetR32         r6
00415FEC    GetESP
00415FED    RmSs32
00415FEE    nor32
00415FEF    SetR32         r1
00415FF0    GetI16To32       FFFFFF2B
00415FF3    nor32
00415FF4    SetR32         r1
00415FF5    GetR32         r10
00415FF6    GetESP
00415FF7    RmSs32
00415FF8    nor32
00415FF9    SetR32         r1
00415FFA    GetI16To32       000000D4
00415FFD    nor32
00415FFE    SetR32         r9
00415FFF    add32
00416000    SetR32         r1
00416001    SetR32         r1
00416002    GetR32         r1
00416003    SetR32         r9
00416004    GetI16To32       FFFFFEFF
00416007    GetR32         r9
00416008    GetR32         r9
00416009    nor32
0041600A    SetR32         r6
0041600B    nor32
0041600C    SetR32         r7
0041600D    SetR32         r7
0041600E    GetR32         r7
0041600F    GetR32         r4
00416010    add32
00416011    SetR32         r9
00416012    SetR32         r13
00416013    GetR32         r8
00416014    GetR32         r13
00416015    GetESP
00416016    RmSs32
00416017    nor32
00416018    SetR32         r9
00416019    add32
0041601A    SetR32         r4
0041601B    GetESP
0041601C    RmSs32
0041601D    nor32
0041601E    SetR32         r3
0041601F    SetR32         r9
00416020    GetR32         r4
00416021    GetESP
00416022    RmSs32
00416023    nor32
00416024    SetR32         r6
00416025    GetI16To32       FFFFF7EA
00416028    nor32
00416029    SetR32         r1
0041602A    GetR32         r3
0041602B    GetR32         r3
0041602C    nor32
0041602D    SetR32         r1
0041602E    GetI16To32       00000815
00416031    nor32
00416032    SetR32         r9
00416033    add32
00416034    SetR32         r6
00416035    SetR32         r9
00416036    GetI32         B58F5FE4             --------------------错误路线
0041603B    GetI32         B58F43A4             --------------------正确路线
00416040    GetESP
00416041    GetI8To16      0004
00416043    GetR32         r9
00416044    GetI8To32      000000BF
00416046    nor32
00416047    SetR32         r1
00416048    shr32
00416049    SetR32         r10
0041604A    add32
0041604B    SetR32         r1
0041604C    RmSs32
0041604D    SetR32         r4
0041604E    SetR32         r10
0041604F    SetR32         r1
00416050    GetR32         r4
00416051    GetESP
00416052    RmSs32
00416053    SetR32         r6
00416054    GetESP
00416055    RmSs32
00416056    nor32
00416057    SetR32         r12
00416058    GetI32         4A301C2B
0041605D    nor32
0041605E    SetR32         r4
0041605F    GetR32         r6
00416060    GetI32         B5CFE3D4             --------------------解码地址的key
00416065    nor32
00416066    SetR32         r4
00416067    nor32
00416068    SetR32         r1
00416069    SetR32         r1
0041606A    GetR32         r15
0041606B    GetR32         r4
0041606C    GetR32         r15
0041606D    GetR32         r7
0041606E    GetR32         r5
0041606F    GetR32         r9
00416070    GetR32         r14
00416071    GetR32         r8
00416072    GetR32         r15
00416073    GetR32         r13
00416074    GetR32         r0
00416075    GetR32         r11
00416076    GetI32         125FB91C
0041607B    add32
0041607C    SetR32         r10
0041607D    GetR32         r2
0041607E    GetR32         r1
0041607F    SetEIP
         key = 0xFF414DA5

到这二选一,正确路线:
0040A070    SetR32         r10
0040A071    GetI32         EDA046E4
0040A076    add32
0040A077    SetR32         r15
0040A078    SetR32         r7
0040A079    SetR32         r2
0040A07A    SetR32         r14
0040A07B    SetR32         r8
0040A07C    SetR32         r4
0040A07D    SetR32         r1
0040A07E    SetR32         r11
0040A07F    SetR32         r0
0040A080    SetR32         r12
0040A081    SetR32         r6
0040A082    GetR32         r6
0040A083    GetR32         r6
0040A084    nor32
0040A085    SetR32         r13
0040A086    GetI32         4A301C2B
0040A08B    nor32
0040A08C    SetR32         r9
0040A08D    GetR32         r6
0040A08E    GetI32         B5CFE3D4
0040A093    nor32
0040A094    SetR32         r15
0040A095    nor32
0040A096    SetR32         r5
0040A097    SetR32         r13
0040A098    SetR32         r3
0040A099    SetR32         r5
0040A09A    SetR32         r9
0040A09B    SetR32         r15
0040A09C    SetR32         r14
0040A09D    SetR32         r12
0040A09E    SetR32         r4
0040A09F    GetR32         r4
0040A0A0    GetESP
0040A0A1    RmSs32
0040A0A2    nor32
0040A0A3    SetR32         r8
0040A0A4    GetI16To32       000008FF
0040A0A7    nor32
0040A0A8    SetR32         r11
0040A0A9    Popfd
0040A0AA    GetR32         r12                     -----------------这开始pushad
0040A0AB    GetR32         r14
0040A0AC    GetR32         r15
0040A0AD    GetR32         r9
0040A0AE    GetI8To32      00000014
0040A0B0    GetESP
0040A0B1    add32
0040A0B2    SetR32         r11
0040A0B3    GetR32         r2
0040A0B4    GetR32         r1
0040A0B5    GetR32         r0
0040A0B6    GetI8To32      00000024            ---------------------这开始mov   esi, dword ptr
0040A0B8    GetESP
0040A0B9    GetI8To32      00000004
0040A0BB    add32
0040A0BC    SetR32         r3
0040A0BD    add32
0040A0BE    SetR32         r3
0040A0BF    RmSs32
0040A0C0    SetR32         r3
0040A0C1    GetR32         r10
0040A0C2    GetI32         00401005
0040A0C7    add32
0040A0C8    SetR32         r11
0040A0C9    GetR32         r15
0040A0CA    GetR32         r4
0040A0CB    GetR32         r13
0040A0CC    GetR32         r12
0040A0CD    GetR32         r3
0040A0CE    GetR32         r2
0040A0CF    GetR32         r9
0040A0D0    GetR32         r14
0040A0D1    GetR32         r0
0040A0D2    GetR32         r12
0040A0D3    GetR32         r15
0040A0D4    retn
         key = 0x125F3270

错误路线:
0040BC30    SetR32         r0
0040BC31    GetI32         EDA046E4
0040BC36    add32
0040BC37    SetR32         r3
0040BC38    SetR32         r15
0040BC39    SetR32         r8
0040BC3A    SetR32         r10
0040BC3B    SetR32         r5
0040BC3C    SetR32         r14
0040BC3D    SetR32         r2
0040BC3E    SetR32         r12
0040BC3F    SetR32         r9
0040BC40    SetR32         r6
0040BC41    SetR32         r3
0040BC42    GetR32         r3
0040BC43    GetR32         r3
0040BC44    nor32
0040BC45    SetR32         r13
0040BC46    GetI32         4A301C2B
0040BC4B    nor32
0040BC4C    SetR32         r1
0040BC4D    GetR32         r3
0040BC4E    GetI32         B5CFE3D4
0040BC53    nor32
0040BC54    SetR32         r11
0040BC55    nor32
0040BC56    SetR32         r7
0040BC57    SetR32         r4
0040BC58    SetR32         r13
0040BC59    SetR32         r1
0040BC5A    SetR32         r1
0040BC5B    SetR32         r10
0040BC5C    SetR32         r13
0040BC5D    SetR32         r11
0040BC5E    SetR32         r7
0040BC5F    GetR32         r7
0040BC60    GetESP
0040BC61    RmSs32
0040BC62    nor32
0040BC63    SetR32         r14
0040BC64    GetI16To32       000008FF
0040BC67    nor32
0040BC68    SetR32         r14
0040BC69    Popfd
0040BC6A    GetI32         8148BEC0
0040BC6F    GetR32         r10
0040BC70    GetR32         r7
0040BC71    GetR32         r4
0040BC72    GetR32         r11
0040BC73    GetR32         r2
0040BC74    GetR32         r8
0040BC75    GetR32         r1
0040BC76    GetR32         r13
0040BC77    GetR32         r9
0040BC78    GetR32         r5
0040BC79    GetR32         r4
0040BC7A    retn
         key = 0x9357B07D



不死神鸟1 发表于 2011-2-27 11:00:30

看看!!!!!!!
页: [1]
查看完整版本: 无聊贴个vmp1.8+ antidump分析(转自nooby)