无聊贴个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]