首页
社区
课程
招聘
[原创]VMP分析插件v1.2(2011/12/15更新)
发表于: 2011-11-26 10:55 163963

[原创]VMP分析插件v1.2(2011/12/15更新)

2011-11-26 10:55
163963
收藏
免费 8
支持
分享
最新回复 (170)
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
101
必须留名,来日研读
2011-12-18 21:04
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
102
非常感谢楼主分享~
2011-12-19 09:58
0
雪    币: 2167
活跃值: (3569)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
103
能不能将相关的运行日志记录下来,直接调试看得比较累。
2011-12-19 17:27
0
雪    币: 602
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
104
强大~~~~~~
2011-12-19 18:31
0
雪    币: 421
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
105
多谢分享。看完fkvmp再来用用LZ的这个插件。
2011-12-20 16:07
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
106
楼主大大,请看一下:

在我程序中 vPushReg4 是这样的 :

0060C230  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; 未知指令
0060C23C  |XOR     AL, BL
0060D8A9  |SUB     AL, 96
0060D8B9  |DEC     ESI
0060B6C0  |XOR     AL, 0D9
0060B6D2  |INC     AL
0060B6E0  |XOR     BL, AL
0060B6E7  |MOV     EDX, DWORD PTR DS:[EAX+EDI]
0060B6FB  |SUB     EBP, 4
0060DF23  \MOV     DWORD PTR SS:[EBP], EDX

没有特征指令 AND AL,3C, 我去掉它能识别但分析虚拟机是错误的,调试出错。

请问:我要怎么改?
2011-12-20 21:34
0
雪    币: 1270
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
107
你说的记录是指什么,下一版准备添加条件记录断点,应该也可以吧,最近比较忙,可能要晚一些更新了。
2011-12-20 23:27
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
108
老大,谢谢你的回复!不过还是不对。
没改时是这样的:

记录数据
地址       消息
00403B59   分析文件lsfz.exe中的虚拟机,从地址403B59开始...
             分析虚拟机...
               分析指令表地址和解密算法...
0060F110       指令表地址:60F110
               开始分析虚拟机指令表...
                 找到64个指令处理程序
                 开始查找解码循环开始地址和堆栈检查程序地址...
0060E416         解码循环开始地址:60E416
0060BDB0         堆栈检查程序地址:60BDB0
                 开始查找执行虚拟指令...
                 执行虚拟指令:60DC8E
                 开始分析指令处理程序...
0040DC39           分析指令处理程序40DC39(指令0、2、81、A1、B6、D6、FC)...
0040DC39           识别成功:vMul4
0060B610           分析指令处理程序60B610(指令1、2E、44、61、BD)...
0060B610           识别成功:vIdiv4
0060B056           分析指令处理程序60B056(指令3、4A、5F、80、84、93、D1)...
0060B056           识别处理程序失败,请添加虚拟指令
0060DD2D           分析指令处理程序60DD2D(指令4、4C、5B、92)...
0060DD2D           识别成功:vShl2
0060C5F1           分析指令处理程序60C5F1(指令5、75、F1)...
0060C5F1           识别成功:vShld
0060B7B1           分析指令处理程序60B7B1(指令6、E、34、5E、BF、CC)...
0060B7B1           识别成功:vAdd2
0060C3C6           分析指令处理程序60C3C6(指令7、26、48、4B、5A、79、E1)...
0060C3C6           识别成功:vPopReg1
0060C325           分析指令处理程序60C325(指令8、1E、D4、F4)...
0060C325           识别成功:vReadMemDs2
0060DF45           分析指令处理程序60DF45(指令9、29、3C、86、B9、DE)...
0060DF45           识别成功:vCall
0060C1BB           分析指令处理程序60C1BB(指令A、1F、57、ED)...
0060C1BB           识别成功:vAdd4
0060C67C           分析指令处理程序60C67C(指令B、45、53、72、78、7B、AA、CD、E0)...
0060C67C           识别成功:vFld8
0060DB9E           分析指令处理程序60DB9E(指令C、D、15、37)...
0060DB9E           识别成功:vNand4
0060BFC3           分析指令处理程序60BFC3(指令F、C9、D2、E4、F8)...
0060BFC3           识别成功:vPopfd
0060E3A0           分析指令处理程序60E3A0(指令10、19、35、83、C6、CE)...
0060E3A0           识别成功:vReadMemSs4
0060B973           分析指令处理程序60B973(指令11、42、A7、F0)...
0060B973           识别成功:vShl4
0060E005           分析指令处理程序60E005(指令12、3B、8C、C2、DF)...
0060E005           识别成功:vPopReg2
0060D968           分析指令处理程序60D968(指令13、7A)...
0060D968           识别成功:vPushVSp
0060DFC6           分析指令处理程序60DFC6(指令14、51、62、F5、FA)...
0060DFC6           识别成功:vRdtsc
0060CFC3           分析指令处理程序60CFC3(指令16、27、46)...
0060CFC3           识别成功:vDiv2
0060C252           分析指令处理程序60C252(指令17、60、74、AF、E5)...
0060C252           识别成功:vWriteMemSs4
0060BF0C           分析指令处理程序60BF0C(指令18、30、C0、DA)...
0060BF0C           识别成功:vPushImm2
0060DCB5           分析指令处理程序60DCB5(指令1A、59、89、9F)...
0060DCB5           识别成功:vShr4
0060D1A0           分析指令处理程序60D1A0(指令1B、32、AE、D0)...
0060D1A0           识别成功:vRet
0060D26A           分析指令处理程序60D26A(指令1C、4F、73、CB、F7)...
0060D26A           识别成功:vPushImm1
0060E390           分析指令处理程序60E390(指令1D、23、39、4D、85、87、AC、AD、BB、DD)...
0060E390           识别成功:vAdd1
0060DE92           分析指令处理程序60DE92(指令20、7C、8D、F2、FE)...
0060DE92           识别成功:vPushSs
0040DB1D           分析指令处理程序40DB1D(指令21、25、7F、B5、B8)...
0040DB1D           识别成功:vShr1
0060D0A1           分析指令处理程序60D0A1(指令22、49、A3)...
0060D0A1           识别成功:vReadMemDs4
0060D91E           分析指令处理程序60D91E(指令24、AB)...
0060D91E           识别成功:vDiv4
0060B1C2           分析指令处理程序60B1C2(指令28)...
0060B1C2           识别成功:vWriteMemSs1
0060D0AC           分析指令处理程序60D0AC(指令2A、3E、41、98)...
0060D0AC           识别成功:vCpuid
0040DBE9           分析指令处理程序40DBE9(指令2B、6A、FD)...
0040DBE9           识别成功:vShrd
0060B8CA           分析指令处理程序60B8CA(指令2C、67、69、7E、A9)...
0060B8CA           识别成功:vNand1
0060DE75           分析指令处理程序60DE75(指令2D、C4、CA、D9)...
0060DE75           识别成功:vNand2
0060E4EA           分析指令处理程序60E4EA(指令2F、66、E8)...
0060E4EA           识别成功:vReadMemSs1
00403D7F           分析指令处理程序403D7F(指令31、71)...
00403D7F           识别成功:vImul2
0060B896           分析指令处理程序60B896(指令33、B4、D8、EF)...
0060B896           识别成功:vWriteMemDs1
0040DADE           分析指令处理程序40DADE(指令36、A8)...
0040DADE           识别成功:vImul4
0060D3A9           分析指令处理程序60D3A9(指令38、DB)...
0060D3A9           识别成功:vJmp
0040DE61           分析指令处理程序40DE61(指令3A、3D、63、82、BE、DC)...
0040DE61           识别成功:vPushReg1
0040DC04           分析指令处理程序40DC04(指令3F、7D)...
0040DC04           识别成功:vWriteMemEs4
0060D65F           分析指令处理程序60D65F(指令40、C3、EB)...
0060D65F           识别成功:vWriteMemDs4
0060B630           分析指令处理程序60B630(指令43、56、6F、91、99、B3、E7、EE)...
0060B630           识别成功:vMul2
0040DA2F           分析指令处理程序40DA2F(指令47、76、A4、C8)...
0040DA2F           识别成功:vWriteMemSs2
0060D4E5           分析指令处理程序60D4E5(指令4E、6B、94、9A、D7)...
0060D4E5           识别成功:vReadMemDs1
0060DACF           分析指令处理程序60DACF(指令50、96、D5)...
0060DACF           识别成功:vWriteMemFs4
0060B01B           分析指令处理程序60B01B(指令52、E2)...
0060B01B           识别成功:vReadMemSs2
0040D9D1           分析指令处理程序40D9D1(指令54、5D、A0)...
0040D9D1           识别成功:vCheck
0040DE86           分析指令处理程序40DE86(指令55、B7)...
0040DE86           识别成功:vPushImmSx2
00403DF4           分析指令处理程序403DF4(指令58、68、8A、C7、EA)...
00403DF4           识别成功:vPopVSp
0060C226           分析指令处理程序60C226(指令5C、6D、A2)...
0060C226           识别处理程序失败,请添加虚拟指令
0060B8F5           分析指令处理程序60B8F5(指令64、9C、BA、BC、F9)...
0060B8F5           识别成功:vWriteMemDs2
0060C111           分析指令处理程序60C111(指令65、6C、EC)...
0060C111           识别成功:vShr2
00403BC2           分析指令处理程序403BC2(指令6E、E3)...
00403BC2           识别成功:vPushImm4
0060B1F8           分析指令处理程序60B1F8(指令70、A5、FB)...
0060B1F8           识别成功:vPushImmSx1
0060DB20           分析指令处理程序60DB20(指令77、8B)...
0060DB20           识别成功:vReadMemFs4
0060BD50           分析指令处理程序60BD50(指令88、B1、C1、F6)...
0060BD50           识别成功:vPushVEsp
0060CC95           分析指令处理程序60CC95(指令8E、9B、B0、B2)...
0060CC95           识别成功:vFstp8
0060E35C           分析指令处理程序60E35C(指令8F、CF)...
0060E35C           识别处理程序失败,请添加虚拟指令
0060D034           分析指令处理程序60D034(指令90、9D、9E、A6)...
0060D034           识别成功:vPopVEsp
0060B370           分析指令处理程序60B370(指令95、E6)...
0060B370           识别成功:vFmul4
0060C5A1           分析指令处理程序60C5A1(指令97、C5、FF)...
0060C5A1           识别成功:vShl1
0060C565           分析指令处理程序60C565(指令D3)...
0060C565           识别成功:vPushReg2
00403DEC           分析指令处理程序403DEC(指令E9、F3)...
00403DEC           识别成功:vJmp
                 分析指令处理程序完成
               分析指令表完成
               提取解码循环相关指令...
               提取解码循环相关指令完成
             分析虚拟机完成
00403B59   分析文件lsfz.exe中的虚拟机完成,找到1个虚拟机,用时0.73秒

0040DC41  /MOV     EDX, DWORD PTR SS:[EBP]           ; vMul4
0040DC4C  |MOV     EAX, DWORD PTR SS:[EBP+4]
0040DC50  |SUB     EBP, 4
0040DE98  |MUL     EDX
0060B707  |MOV     DWORD PTR SS:[EBP+4], EDX
0060CA3D  |MOV     DWORD PTR SS:[EBP+8], EAX
0060CA47  |PUSHFD
0060C9E0  \POP     DWORD PTR SS:[EBP]
0060B611  /MOV     EDX, DWORD PTR SS:[EBP]           ; vIdiv4
0060B3D3  |MOV     EAX, DWORD PTR SS:[EBP+4]
0060B3E2  |IDIV    DWORD PTR SS:[EBP+8]
0060CE1E  |MOV     DWORD PTR SS:[EBP+4], EDX
0060CE26  |MOV     DWORD PTR SS:[EBP+8], EAX
0040D904  |PUSHFD
0060B66B  \POP     DWORD PTR SS:[EBP]
0060B057  /MOV     EDX, DWORD PTR SS:[EBP]           ; 未知指令
0060B05B  |ADD     EBP, 4
00403DE5  |PUSH    EDX
00403DE9  \RETN 0FFFFFFFC
0060DD32  /MOV     AX, WORD PTR SS:[EBP]             ; vShl2
0060DD39  |MOV     CL, BYTE PTR SS:[EBP+2]
0060B811  |SUB     EBP, 2
0060B81C  |SHL     AX, CL
0060B836  |MOV     WORD PTR SS:[EBP+4], AX
0060B83B  |PUSHFD
0060C539  \POP     DWORD PTR SS:[EBP]
0060C5F7  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShld
0060C5FD  |MOV     EDX, DWORD PTR SS:[EBP+4]
0060C603  |MOV     CL, BYTE PTR SS:[EBP+8]
0060C608  |ADD     EBP, 2
0060DF01  |SHLD    EAX, EDX, CL
0060CA21  |MOV     DWORD PTR SS:[EBP+4], EAX
0060BAEC  |PUSHFD
0060BF6A  \POP     DWORD PTR SS:[EBP]
0060B7B5  /MOV     AX, WORD PTR SS:[EBP]             ; vAdd2
0060B7BE  |SUB     EBP, 2
0060D685  |ADD     WORD PTR SS:[EBP+4], AX
0060DEDA  |PUSHFD
0060DEE8  \POP     DWORD PTR SS:[EBP]
0060C3CD  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPopReg1
0060C3D5  |ADD     AL, BL
0060C3DE  |ROL     AL, 3
0060C3EA  |SUB     AL, 3C
0060C3F2  |XOR     AL, 0FA
0060C3FF  |ADD     BL, AL
0060C40C  |MOV     DX, WORD PTR SS:[EBP]
0060B5BF  |ADD     EBP, 2
0060B5C5  |ADD     ESI, -1
0060BF2C  \MOV     BYTE PTR DS:[EAX+EDI], DL
0060C32A  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemDs2
0060C331  |ADD     EBP, 2
0060DFED  |MOV     AX, WORD PTR DS:[EAX]
0060BB7C  \MOV     WORD PTR SS:[EBP], AX
0060DF47  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vCall
0060DF4E  |SUB     AL, BL
0060DF57  |DEC     AL
0060DF5C  |ROL     AL, 7
0060DF64  |SUB     AL, 14
0060DF70  |LEA     ESI, DWORD PTR DS:[ESI-1]
0060DF76  |SUB     BL, AL
0060DF82  |MOVZX   ECX, AL
0060DF8A  |MOV     DWORD PTR SS:[EBP-4], ECX
0060DF94  |OR      ECX, ECX
0060E20C  |SUB     EAX, EAX
0060E216  |XCHG    DWORD PTR SS:[EBP+ECX*4], EAX
0060D58D  |SUB     EAX, EAX
0060D59A  |XCHG    DWORD PTR SS:[EBP], EAX
0060B04F  |PUSH    EAX
0060B053  \RETN 0FFFFFFF8
0060C1BC  /MOV     EAX, DWORD PTR SS:[EBP]           ; vAdd4
0060DC37  |ADD     DWORD PTR SS:[EBP+4], EAX
0060B1A7  |PUSHFD
0060B1B4  \POP     DWORD PTR SS:[EBP]
0060C67D  [FLD     QWORD PTR SS:[EBP]                ; vFld8
0060DBA1  /MOV     EAX, DWORD PTR SS:[EBP]           ; vNand4
0060DBAA  |MOV     EDX, DWORD PTR SS:[EBP+4]
0060B1D5  |NOT     EAX
0060B1E0  |NOT     EDX
0060B1E3  |AND     EAX, EDX
0060DE34  |MOV     DWORD PTR SS:[EBP+4], EAX
0060DE3A  |PUSHFD
0060C3B3  \POP     DWORD PTR SS:[EBP]
0060BFCA  /PUSH    DWORD PTR SS:[EBP]                ; vPopfd
0060BFCD  |POP     DWORD PTR SS:[ESP]
0040DF1A  |ADD     EBP, 4
0040DF1E  \POPFD
0060E3A8  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemSs4
0060E3B6  |MOV     EAX, DWORD PTR SS:[EAX]
0060D08B  \MOV     DWORD PTR SS:[EBP], EAX
0060B97F  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShl4
0060B984  |MOV     CL, BYTE PTR SS:[EBP+4]
0060B992  |SUB     EBP, 2
0060BC21  |SHL     EAX, CL
0060B6B1  |MOV     DWORD PTR SS:[EBP+4], EAX
0060E077  |PUSHFD
0040D9AC  \POP     DWORD PTR SS:[EBP]
0060E00D  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; vPopReg2
0060E017  |XOR     AL, BL
0060E021  |DEC     AL
0060E028  |LEA     ESI, DWORD PTR DS:[ESI-1]
0060E02F  |NOT     AL
0060E038  |DEC     AL
0060E041  |XOR     BL, AL
0060E050  |MOV     DX, WORD PTR SS:[EBP]
0060E059  |ADD     EBP, 2
0060B398  \MOV     WORD PTR DS:[EAX+EDI], DX
0060B5B7  /MOV     EAX, EBP                          ; vPushVSp
0040D9A0  |SUB     EBP, 2
0060D392  \MOV     WORD PTR SS:[EBP], AX
0060DFD1  /RDTSC                                     ; vRdtsc
0060DC9B  |SUB     EBP, 8
0060DCA1  |MOV     DWORD PTR SS:[EBP], EDX
0060CEB5  \MOV     DWORD PTR SS:[EBP+4], EAX
0060CFC5  /MOV     DX, WORD PTR SS:[EBP]             ; vDiv2
0060CFCB  |MOV     AX, WORD PTR SS:[EBP+2]
0060CFD2  |MOV     CX, WORD PTR SS:[EBP+4]
0060D544  |SUB     EBP, 2
0060D54B  |DIV     CX
0060D553  |MOV     WORD PTR SS:[EBP+4], DX
0060D505  |MOV     WORD PTR SS:[EBP+6], AX
0060D518  |PUSHFD
0060D52E  \POP     DWORD PTR SS:[EBP]
0060C259  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemSs4
0060C264  |MOV     EDX, DWORD PTR SS:[EBP+4]
00403C93  |ADD     EBP, 8
00403C9E  \MOV     DWORD PTR SS:[EAX], EDX
0060BF13  /MOV     AX, WORD PTR DS:[ESI-2]           ; vPushImm2
0060BF1B  |XCHG    AL, AH
0060BE4C  |SUB     AX, BX
0040DEA3  |NOT     AX
00403E81  |NEG     AX
0040D848  |ROR     AX, 6
00403C66  |SUB     BX, AX
00403C83  |SUB     EBP, 2
00403B63  |MOV     WORD PTR SS:[EBP], AX
0060DDB1  \LEA     ESI, DWORD PTR DS:[ESI-2]
0060DCBA  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShr4
0060DCBE  |MOV     CL, BYTE PTR SS:[EBP+4]
0060DCC2  |SUB     EBP, 2
0060DCC6  |SHR     EAX, CL
0060DCC9  |MOV     DWORD PTR SS:[EBP+4], EAX
0060DCD7  |PUSHFD
0060DCE1  \POP     DWORD PTR SS:[EBP]
0060D1A8  /MOV     ESP, EBP                          ; vRet
0060D1AA  |ADD     ESP, -4
0060D1B9  |ADD     ESP, -4
0060D1C2  |MOV     EDX, DWORD PTR SS:[ESP+10]
0060D1D2  |MOV     ESI, DWORD PTR SS:[ESP+14]
0060D1E1  |MOV     EDI, DWORD PTR SS:[ESP+18]
0060D1E9  |MOV     EBP, DWORD PTR SS:[ESP+1C]
0060D1FA  |MOV     ECX, DWORD PTR SS:[ESP+20]
0060D215  |PUSH    DWORD PTR SS:[ESP+28]
0060D219  |POPFD
0060BCD3  |MOV     EAX, DWORD PTR SS:[ESP+2C]
0060BCD7  |ADD     ESP, -4
0060BCDA  |MOV     EBX, DWORD PTR SS:[ESP+34]
0060BCE3  |ADD     ESP, -4
0060BCE7  |PUSH    DWORD PTR SS:[ESP+3C]
0060BCEB  \RETN    40
0060D271  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; vPushImm1
0060D276  |SUB     AL, BL
0060D466  |DEC     AL
0060D46B  |ROL     AL, 7
0060D476  |DEC     ESI
0060D483  |SUB     AL, 14
0060D487  |SUB     BL, AL
0060D490  |SUB     EBP, 2
0060D3D3  \MOV     WORD PTR SS:[EBP], AX
0060B76D  /MOV     AL, BYTE PTR SS:[EBP]             ; vAdd1
0060DE11  |SUB     EBP, 2
0060DE15  |ADD     BYTE PTR SS:[EBP+4], AL
0060D382  |PUSHFD
0060B8B4  \POP     DWORD PTR SS:[EBP]
0060DE95  /MOV     AX, SS                            ; vPushSs
0060C81A  |SUB     EBP, 2
0060C823  \MOV     WORD PTR SS:[EBP], AX
0040DB1E  /MOV     AL, BYTE PTR SS:[EBP]             ; vShr1
0040DB23  |MOV     CL, BYTE PTR SS:[EBP+2]
0040DB30  |SUB     EBP, 2
0040DB34  |SHR     AL, CL
00403DAF  |MOV     WORD PTR SS:[EBP+4], AX
0060D7BD  |PUSHFD
0060D7C7  \POP     DWORD PTR SS:[EBP]
0060D0A3  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemDs4
0060C451  |MOV     EAX, DWORD PTR DS:[EAX]
0060B3AA  \MOV     DWORD PTR SS:[EBP], EAX
0060D923  /MOV     EDX, DWORD PTR SS:[EBP]           ; vDiv4
0060D92F  |MOV     EAX, DWORD PTR SS:[EBP+4]
0060D563  |DIV     DWORD PTR SS:[EBP+8]
0060DE89  |MOV     DWORD PTR SS:[EBP+4], EDX
0040DA8E  |MOV     DWORD PTR SS:[EBP+8], EAX
0060BA0B  |PUSHFD
0060B4FA  \POP     DWORD PTR SS:[EBP]
0060B1C6  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemSs1
0060B1CD  |MOV     DL, BYTE PTR SS:[EBP+4]
0060B1EB  |ADD     EBP, 6
0060E1E5  \MOV     BYTE PTR SS:[EAX], DL
00403D11  /MOV     DWORD PTR SS:[ESP], EBX           ; vCpuid
0060C690  |MOV     EAX, DWORD PTR SS:[EBP]
0060C698  |CPUID
0060C69B  |SUB     EBP, 0C
0060C6DC  |MOV     DWORD PTR SS:[EBP+C], EAX
0060C247  |MOV     DWORD PTR SS:[EBP+8], EBX
0060B576  |MOV     DWORD PTR SS:[EBP+4], ECX
0060B57C  |MOV     DWORD PTR SS:[EBP], EDX
00403B79  |XOR     BYTE PTR SS:[EBP+C], 20
00403B8A  \MOV     EBX, DWORD PTR SS:[ESP+4]
0040DBEF  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShrd
0040DBF6  |MOV     EDX, DWORD PTR SS:[EBP+4]
0040DBFC  |MOV     CL, BYTE PTR SS:[EBP+8]
0060D96D  |ADD     EBP, 2
0060B94C  |SHRD    EAX, EDX, CL
0060B951  |MOV     DWORD PTR SS:[EBP+4], EAX
0060C1E8  |PUSHFD
0060DBBF  \POP     DWORD PTR SS:[EBP]
0060B8D3  /MOV     AX, WORD PTR SS:[EBP]             ; vNand1
0060C7AC  |MOV     DX, WORD PTR SS:[EBP+2]
0040D98E  |NOT     AL
0040D996  |NOT     DL
0060B15E  |SUB     EBP, 2
0060B16D  |AND     AL, DL
0060BC14  |MOV     WORD PTR SS:[EBP+4], AX
0060E488  |PUSHFD
0060DDF7  \POP     DWORD PTR SS:[EBP]
0060DE79  /NOT     DWORD PTR SS:[EBP]                ; vNand2
0060DE80  |MOV     AX, WORD PTR SS:[EBP]
0060D49A  |SUB     EBP, 2
0060D4A0  |AND     WORD PTR SS:[EBP+4], AX
0060D4A5  |PUSHFD
0060D4AF  \POP     DWORD PTR SS:[EBP]
0060E4F5  /MOV     EDX, DWORD PTR SS:[EBP]           ; vReadMemSs1
0060E4FD  |ADD     EBP, 2
00403E2A  |MOV     AL, BYTE PTR SS:[EDX]
00403E34  \MOV     WORD PTR SS:[EBP], AX
00403D82  /MOV     DX, WORD PTR SS:[EBP]             ; vImul2
00403D89  |MOV     AX, WORD PTR SS:[EBP+2]
0060E291  |SUB     EBP, 4
0040D95B  |IMUL    DX
0040D966  |MOV     WORD PTR SS:[EBP+4], DX
0060C7BD  |MOV     WORD PTR SS:[EBP+6], AX
0060B690  |PUSHFD
0060B69F  \POP     DWORD PTR SS:[EBP]
0060B89B  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemDs1
0060B8A5  |MOV     DL, BYTE PTR SS:[EBP+4]
0060DA5E  |ADD     EBP, 6
0060B27A  \MOV     BYTE PTR DS:[EAX], DL
0040DAE2  /MOV     EDX, DWORD PTR SS:[EBP]           ; vImul4
0040DAEC  |MOV     EAX, DWORD PTR SS:[EBP+4]
0040DAF5  |SUB     EBP, 4
0040DAF9  |IMUL    EDX
0060C1A1  |MOV     DWORD PTR SS:[EBP+4], EDX
0060C8C4  |MOV     DWORD PTR SS:[EBP+8], EAX
0060DB38  |PUSHFD
0060D049  \POP     DWORD PTR SS:[EBP]
0060D3B2  /MOV     ESI, DWORD PTR SS:[EBP]           ; vJmp
0060C26D  |ADD     EBP, 4
0060E402  |MOV     EBX, ESI
0060E413  |ADD     ESI, DWORD PTR SS:[EBP]
0060E41D  |MOV     AL, BYTE PTR DS:[ESI-1]           ; Load pcode
0060E42C  |XOR     AL, BL                            ; 解密操作码; 虚拟机:0060F110
0060E433  |DEC     ESI                               ; direction - 1
0060E439  |SUB     AL, 13                            ; 解密操作码; 虚拟机:0060F110
0060E443  |NEG     AL                                ; 解密操作码; 虚拟机:0060F110
0060E457  |ROL     AL, 7                             ; 解密操作码; 虚拟机:0060F110
0060E462  |XOR     BL, AL                            ; decode pcode
0060E465  |MOVZX   EAX, AL                           ; decode pcode
0060E470  |MOV     ECX, DWORD PTR DS:[EAX*4+60F110]  ; 读取指令处理程序(解密前); 虚拟机:0060F110
0060E47A  |NEG     ECX                               ; 解密指令处理程序; 虚拟机:0060F110
0060E47D  |ADD     ECX, 0                            ; 解密指令处理程序; 虚拟机:0060F110
0060DC8A  |PUSH    ECX
0060DC8E  \RETN    0                                 ; 执行虚拟指令; 虚拟机:0060F110
0040DE66  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPushReg1
0060C642  |ADD     AL, BL
0060C65A  |ROL     AL, 3
0060C6AA  |SUB     AL, 3C
00403E5E  |XOR     AL, 0FA
00403E65  |ADD     BL, AL
00403E6B  |MOV     AL, BYTE PTR DS:[EAX+EDI]
00403E75  |SUB     EBP, 2
0060DE29  |MOV     WORD PTR SS:[EBP], AX
0060CA2A  \ADD     ESI, -1
0040DC0C  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemEs4
0040DC19  |MOV     EDX, DWORD PTR SS:[EBP+4]
0040DC1F  |ADD     EBP, 8
0040DC2A  \MOV     DWORD PTR ES:[EAX], EDX
0060D661  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemDs4
0060D668  |MOV     EDX, DWORD PTR SS:[EBP+4]
0040DA58  |ADD     EBP, 8
0040DEAE  \MOV     DWORD PTR DS:[EAX], EDX
0060B639  /MOV     DX, WORD PTR SS:[EBP]             ; vMul2
0060B643  |MOV     AX, WORD PTR SS:[EBP+2]
0060B649  |SUB     EBP, 4
0060C50A  |MUL     DX
00403D54  |MOV     WORD PTR SS:[EBP+4], DX
00403D60  |MOV     WORD PTR SS:[EBP+6], AX
0060BBEF  |PUSHFD
0060C7DE  \POP     DWORD PTR SS:[EBP]
0040DA3B  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemSs2
0040DA47  |MOV     DX, WORD PTR SS:[EBP+4]
00403DA7  |ADD     EBP, 6
0060E234  \MOV     WORD PTR SS:[EAX], DX
0060D4EE  /MOV     EDX, DWORD PTR SS:[EBP]           ; vReadMemDs1
0060D4F7  |ADD     EBP, 2
0060BCF0  |MOV     AL, BYTE PTR DS:[EDX]
0060BCF7  \MOV     WORD PTR SS:[EBP], AX
0060DAD3  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemFs4
0060DAD8  |MOV     EDX, DWORD PTR SS:[EBP+4]
0060C5DB  |ADD     EBP, 8
0060C5E4  \MOV     DWORD PTR FS:[EAX], EDX
0060B01C  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemSs2
0060B020  |ADD     EBP, 2
0060C463  |MOV     AX, WORD PTR SS:[EAX]
0060C471  \MOV     WORD PTR SS:[EBP], AX
0040D9DA  /MOV     EDX, DWORD PTR SS:[EBP]           ; vCheck
0040D9E3  |ADD     EBP, 4
0040D9EE  |XOR     EAX, EAX
0040DA02  |MOV     ECX, EAX
0040DA0D  |SHL     EAX, 7
0040DA17  |SHR     ECX, 19
0040DA1F  |OR      EAX, ECX
0060C288  |XOR     AL, BYTE PTR DS:[EDX]
0060CD8F  |DEC     DWORD PTR SS:[EBP]
0060CDAA  \MOV     DWORD PTR SS:[EBP], EAX
0040DE88  /MOV     AX, WORD PTR DS:[ESI-2]           ; vPushImmSx2
0040DE8F  |XCHG    AL, AH
0060D4C7  |SUB     AX, BX
0060C1AB  |NOT     AX
0040D7FC  |NEG     AX
0040D803  |ROR     AX, 6
0040D808  |SUB     BX, AX
0040D812  |CWDE
0040D816  |ADD     ESI, -2
0040D827  |SUB     EBP, 4
0060DC20  \MOV     DWORD PTR SS:[EBP], EAX
00403DF8  [MOV     BP, WORD PTR SS:[EBP]             ; vPopVSp
0060C230  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; 未知指令
0060C23C  |XOR     AL, BL
0060D8A9  |SUB     AL, 96
0060D8B9  |DEC     ESI
0060B6C0  |XOR     AL, 0D9
0060B6D2  |INC     AL
0060B6E0  |XOR     BL, AL
0060B6E7  |MOV     EDX, DWORD PTR DS:[EAX+EDI]
0060B6FB  |SUB     EBP, 4
0060DF23  \MOV     DWORD PTR SS:[EBP], EDX
0060B8FD  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemDs2
0060B90B  |MOV     DX, WORD PTR SS:[EBP+4]
0060B91C  |ADD     EBP, 6
0060B923  \MOV     WORD PTR DS:[EAX], DX
0060C119  /MOV     AX, WORD PTR SS:[EBP]             ; vShr2
0060C124  |MOV     CL, BYTE PTR SS:[EBP+2]
0060B875  |SUB     EBP, 2
0060B93E  |SHR     AX, CL
0060B943  |MOV     WORD PTR SS:[EBP+4], AX
0060BBFB  |PUSHFD
0060BC05  \POP     DWORD PTR SS:[EBP]
00403BCA  /MOV     EAX, DWORD PTR DS:[ESI-4]         ; vPushImm4
0060DD43  |BSWAP   EAX
0060DD4F  |SUB     EAX, EBX
0060D0CC  |NOT     EAX
0060B522  |BSWAP   EAX
0060B55F  |INC     EAX
0060B565  |SUB     EBX, EAX
0060C667  |SUB     ESI, 4
0060C80B  |SUB     EBP, 4
0060D744  \MOV     DWORD PTR SS:[EBP], EAX
0060D715  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPushImmSx1
0060D71C  |SUB     AL, BL
0060D72B  |DEC     AL
0060D7FE  |ROL     AL, 7
0060D80B  |SUB     AL, 14
0060D810  |SUB     BL, AL
0060D817  |CBW
0060D81A  |DEC     ESI
0060D81E  |CWDE
00403D23  |SUB     EBP, 4
0060D948  \MOV     DWORD PTR SS:[EBP], EAX
0060DB2F  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemFs4
0060B17F  |MOV     EAX, DWORD PTR FS:[EAX]
0060B195  \MOV     DWORD PTR SS:[EBP], EAX
0060BD57  /MOV     EAX, EBP                          ; vPushVEsp
0060BD5A  |SUB     EBP, 4
0060BD6C  \MOV     DWORD PTR SS:[EBP], EAX
0060D733  [FSTP    QWORD PTR SS:[EBP]                ; vFstp8
0060E365  /MOV     AL, BYTE PTR DS:[ESI-1]           ; 未知指令
0060E373  |SUB     ESI, 1
0060E379  |XOR     AL, BL
0060E385  |SUB     AL, 96
0060E389  |XOR     AL, 0D9
0060C6B1  |INC     AL
0060C6B8  |XOR     BL, AL
0060C6C1  |MOV     EDX, DWORD PTR SS:[EBP]
0060D574  |ADD     EBP, 4
0060D578  \MOV     DWORD PTR DS:[EAX+EDI], EDX
0060B883  [MOV     EBP, DWORD PTR SS:[EBP]           ; vPopVEsp
0060B372  [FMUL    DWORD PTR SS:[EBP]                ; vFmul4
0060C5A8  /MOV     AL, BYTE PTR SS:[EBP]             ; vShl1
0060C1D0  |MOV     CL, BYTE PTR SS:[EBP+2]
0060C1D4  |SUB     EBP, 2
0060D416  |SHL     AL, CL
0060DFBD  |MOV     WORD PTR SS:[EBP+4], AX
0060B681  |PUSHFD
0060D674  \POP     DWORD PTR SS:[EBP]
0060C568  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPushReg2
0060B781  |XOR     AL, BL
0060B794  |DEC     AL
0060B798  |NOT     AL
0060B7A5  |DEC     AL
0060B7A9  |XOR     BL, AL
00403B9E  |MOV     AX, WORD PTR DS:[EAX+EDI]
00403BA3  |SUB     EBP, 2
0040D83E  |MOV     WORD PTR SS:[EBP], AX
0060DFDB  \DEC     ESI
0060B3F4  /MOV     ESI, DWORD PTR SS:[EBP]           ; vJmp
0060B3FA  |ADD     EBP, 4
0060E402  |MOV     EBX, ESI
0060E413  |ADD     ESI, DWORD PTR SS:[EBP]
0060E41D  |MOV     AL, BYTE PTR DS:[ESI-1]           ; Load pcode
0060E42C  |XOR     AL, BL                            ; 解密操作码; 虚拟机:0060F110
0060E433  |DEC     ESI                               ; direction - 1
0060E439  |SUB     AL, 13                            ; 解密操作码; 虚拟机:0060F110
0060E443  |NEG     AL                                ; 解密操作码; 虚拟机:0060F110
0060E457  |ROL     AL, 7                             ; 解密操作码; 虚拟机:0060F110
0060E462  |XOR     BL, AL                            ; decode pcode
0060E465  |MOVZX   EAX, AL                           ; decode pcode
0060E470  |MOV     ECX, DWORD PTR DS:[EAX*4+60F110]  ; 读取指令处理程序(解密前); 虚拟机:0060F110
0060E47A  |NEG     ECX                               ; 解密指令处理程序; 虚拟机:0060F110
0060E47D  |ADD     ECX, 0                            ; 解密指令处理程序; 虚拟机:0060F110
0060DC8A  |PUSH    ECX
0060DC8E  \RETN    0                                 ; 执行虚拟指令; 虚拟机:0060F110

00700152  /$  8F 2C        未知指令
00700150  |.  6E 5BDA4CA3  vPushImm4 0A34CDA5B
0070014B  |.  ED           vAdd4
0070014A  |.  8F 14        未知指令
00700148  |.  CF 10        未知指令
00700146  |.  CF 08        未知指令
00700144  |.  CF 20        未知指令
00700142  |.  CF 34        未知指令
00700140  |.  8F 30        未知指令
0070013E  |.  8F 1C        未知指令
0070013C  |.  CF 14        未知指令
0070013A  |.  CF 24        未知指令
00700138  |.  CF 0C        未知指令
00700136  |.  8F 18        未知指令
00700134  |.  8F 38        未知指令
00700132  |.  CF 38        未知指令
00700130  |.  6D 24        未知指令
0070012E  |.  5C 0C        未知指令
0070012C  |.  5C 1C        未知指令
0070012A  |.  6D 08        未知指令
00700128  |.  5C 18        未知指令
00700126  |.  6E 84703ECF  vPushImm4 0CF3E7084
00700121  |.  6E 89F791FF  vPushImm4 0FF91F789
0070011C  |.  6E 88C78190  vPushImm4 9081C788
00700117  |.  0C           vNand4
00700116  |.  8F 00        未知指令
00700114  |.  5C 2C        未知指令
00700112  |.  0A           vAdd4
00700111  |.  8F 04        未知指令
0070010F  |.  22           vReadMemDs4
0070010E  |.  0A           vAdd4
0070010D  |.  8F 28        未知指令
0070010B  |.  6E 585D913D  vPushImm4 3D915D58
00700106  |.  E3 416DF29D  vPushImm4 9DF26D41
00700101  |.  E3 8CFF30EC  vPushImm4 0EC30FF8C
007000FC  |.  FB 0C        vPushImmSx1 0C
007000FA  |.  B1           vPushVEsp
007000F9  |.  57           vAdd4
007000F8  |.  8F 3C        未知指令
007000F6  |.  17           vWriteMemSs4
007000F5  |.  70 05        vPushImmSx1 5
007000F3  |.  B1           vPushVEsp
007000F2  |.  57           vAdd4
007000F1  |.  CF 28        未知指令
007000EF  |.  28           vWriteMemSs1
007000EE  |.  B1           vPushVEsp
007000ED  |.  10           vReadMemSs4
007000EC  |.  5C 00        未知指令
007000EA  |.  12 00        vPopReg2 vR0W
007000E8  |.  3B 28        vPopReg2 vR10W
007000E6  |.  8F 04        未知指令
007000E4  |.  C2 00        vPopReg2 vR0W
007000E2  |.  1F           vAdd4
007000E1  |.  8F 28        未知指令
007000DF  |.  8F 04        未知指令
007000DD  |.  E3 C8A37E4E  vPushImm4 4E7EA3C8
007000D8  |.  6E E0F4FCFA  vPushImm4 0FAFCF4E0
007000D3  |.  E3 6F9FCA4A  vPushImm4 4ACA9F6F
007000CE  |.  5C 04        未知指令
007000CC  |.  2A           vCpuid
007000CB  |.  8F 38        未知指令
007000C9  |.  CF 0C        未知指令
007000C7  |.  CF 3C        未知指令
007000C5  |.  CF 08        未知指令
007000C3  |.  E3 D9BF00B5  vPushImm4 0B500BFD9
007000BE  |.  5C 18        未知指令
007000BC  |.  B1           vPushVEsp
007000BB  |.  19           vReadMemSs4
007000BA  |.  6E 30686D4B  vPushImm4 4B6D6830
007000B5  |.  A5 0C        vPushImmSx1 0C
007000B3  |.  88           vPushVEsp
007000B2  |.  0A           vAdd4
007000B1  |.  CF 04        未知指令
007000AF  |.  17           vWriteMemSs4
007000AE  |.  3B 1C        vPopReg2 vR7W
007000AC  |.  8C 28        vPopReg2 vR10W
007000AA  |.  E3 069A6FDD  vPushImm4 0DD6F9A06
007000A5  |.  6E 7F0F0F78  vPushImm4 780F0F7F
007000A0  |.  6E C7B56688  vPushImm4 8866B5C7
0070009B  |.  0A           vAdd4
0070009A  |.  CF 04        未知指令
00700098  |.  6D 2C        未知指令
00700096  |.  0A           vAdd4
00700095  |.  8F 1C        未知指令
00700093  |.  22           vReadMemDs4
00700092  |.  57           vAdd4
00700091  |.  CF 00        未知指令
0070008F  |.  E3 D83A607B  vPushImm4 7B603AD8
0070008A  |.  B1           vPushVEsp
00700089  |.  E2           vReadMemSs2
00700088  |.  E3 025100B3  vPushImm4 0B3005102
00700083  |.  A5 0A        vPushImmSx1 0A
00700081  |.  88           vPushVEsp
00700080  |.  1F           vAdd4
0070007F  |.  CF 28        未知指令
0070007D  |.  17           vWriteMemSs4
0070007C  |.  E3 F9B9F6BA  vPushImm4 0BAF6B9F9
00700077  |.  67           vNand1
00700076  |.  8F 28        未知指令
00700074  |.  C4           vNand2
00700073  |.  CF 28        未知指令
00700071  |.  12 1C        vPopReg2 vR7W
0070006F  |.  0C           vNand4
0070006E  |.  CF 04        未知指令
0070006C  |.  5C 0C        未知指令
0070006A  |.  B1           vPushVEsp
00700069  |.  10           vReadMemSs4
00700068  |.  0C           vNand4
00700067  |.  CF 1C        未知指令
00700065  |.  0C           vNand4
00700064  |.  8F 04        未知指令
00700062  |.  6E 31767A8D  vPushImm4 8D7A7631
0070005D  |.  6E D0218AFF  vPushImm4 0FF8A21D0
00700058  |.  6E ECFFE3AA  vPushImm4 0AAE3FFEC
00700053  |.  88           vPushVEsp
00700052  |.  2F           vReadMemSs1
00700051  |.  88           vPushVEsp
00700050  |.  CE           vReadMemSs4
0070004F  |.  6E 10008294  vPushImm4 94820010
0070004A  |.  88           vPushVEsp
00700049  |.  A5 0A        vPushImmSx1 0A
00700047  |.  57           vAdd4
00700046  |.  CF 1C        未知指令
00700044  |.  17           vWriteMemSs4
00700043  |.  3B 1C        vPopReg2 vR7W
00700041  |.  CF 18        未知指令
0070003F  |.  0D           vNand4
0070003E  |.  CF 04        未知指令
0070003C  |.  6D 2C        未知指令
0070003A  |.  ED           vAdd4
00700039  |.  CF 00        未知指令
00700037  |.  A3           vReadMemDs4
00700036  |.  0A           vAdd4
00700035  |.  CF 00        未知指令
00700033  |.  E3 E3A51870  vPushImm4 7018A5E3
0070002E  |.  ED           vAdd4
0070002D  |.  CF 00        未知指令
0070002B  |.  5C 0C        未知指令
00700029  |.  0C           vNand4
00700028  |.  CF 18        未知指令
00700026  |.  0C           vNand4
00700025  |.  CF 1C        未知指令
00700023  |.  8F 1C        未知指令
00700021  |.  0A           vAdd4
00700020  |.  CF 00        未知指令
0070001E  |.  5C 2C        未知指令
0070001C  |.  1F           vAdd4
0070001B  |.  8F 18        未知指令
00700019  |.  22           vReadMemDs4
00700018  |.  0A           vAdd4
00700017  |.  8F 18        未知指令
00700015  |.  6E 60190C12  vPushImm4 120C1960
00700010  |.  88           vPushVEsp
0070000F  |.  2F           vReadMemSs1
0070000E  |.  E3 1204CC2F  vPushImm4 2FCC0412
00700009  |.  6E 5B60DFB0  vPushImm4 0B0DF605B
00700004  |.  6E 46807063  vPushImm4 63708046
006FFFFF  |.  30 C25A      vPushImm2 5AC2
006FFFFC  |.  3A 38        vPushReg1 vR14B
006FFFFA  |.  A5 05        vPushImmSx1 5
006FFFF8  |.  B1           vPushVEsp
006FFFF7  |.  1F           vAdd4
006FFFF6  |.  CF 28        未知指令
006FFFF4  |.  28           vWriteMemSs1
006FFFF3  |.  E3 66F68E4F  vPushImm4 4F8EF666
006FFFEE  |.  70 0A        vPushImmSx1 0A
006FFFEC  |.  88           vPushVEsp
006FFFEB  |.  ED           vAdd4
006FFFEA  |.  8F 28        未知指令
006FFFE8  |.  17           vWriteMemSs4
006FFFE7  |.  12 18        vPopReg2 vR6W
006FFFE5  |.  ED           vAdd4
006FFFE4  |.  8F 0C        未知指令
006FFFE2  |.  A2 2C        未知指令
006FFFE0  |.  0A           vAdd4
006FFFDF  |.  CF 04        未知指令
006FFFDD  |.  22           vReadMemDs4
006FFFDC  |.  0A           vAdd4
006FFFDB  |.  8F 0C        未知指令
006FFFD9  |.  E3 311D3A2C  vPushImm4 2C3A1D31
006FFFD4  |.  1F           vAdd4
006FFFD3  |.  8F 0C        未知指令
006FFFD1  |.  5C 3C        未知指令
006FFFCF  |.  C1           vPushVEsp
006FFFCE  |.  35           vReadMemSs4
006FFFCD  |.  0C           vNand4
006FFFCC  |.  CF 18        未知指令
006FFFCA  |.  0D           vNand4
006FFFC9  |.  CF 00        未知指令
006FFFC7  |.  CF 28        未知指令
006FFFC5  |.  26 04        vPopReg1 vR1B
006FFFC3  |.  0C           vNand4
006FFFC2  |.  8F 3C        未知指令
006FFFC0  |.  5C 08        未知指令
006FFFBE  |.  A2 08        未知指令
006FFFBC  |.  15           vNand4
006FFFBB  |.  6E B5D37E18  vPushImm4 187ED3B5
006FFFB6  |.  6E 3B4A9645  vPushImm4 45964A3B
006FFFB1  |.  E3 1A187D35  vPushImm4 357D181A
006FFFAC  |.  B1           vPushVEsp
006FFFAB  |.  52           vReadMemSs2
006FFFAA  |.  6E 4824D8BA  vPushImm4 0BAD82448
006FFFA5  |.  70 0A        vPushImmSx1 0A
006FFFA3  |.  88           vPushVEsp
006FFFA2  |.  0A           vAdd4
006FFFA1  |.  8F 0C        未知指令
006FFF9F  |.  17           vWriteMemSs4
006FFF9E  |.  A2 10        未知指令
006FFF9C  |.  DF 18        vPopReg2 vR6W
006FFF9A  |.  8F 04        未知指令
006FFF98  |.  1F           vAdd4
006FFF97  |.  8F 00        未知指令
006FFF95  |.  6D 2C        未知指令
006FFF93  |.  0A           vAdd4
006FFF92  |.  8F 04        未知指令
006FFF90  |.  A3           vReadMemDs4
006FFF8F  |.  0A           vAdd4
006FFF8E  |.  CF 3C        未知指令
006FFF8C  |.  5C 04        未知指令
006FFF8A  |.  5C 20        未知指令
006FFF88  |.  88           vPushVEsp
006FFF87  |.  19           vReadMemSs4
006FFF86  |.  0C           vNand4
006FFF85  |.  CF 3C        未知指令
006FFF83  |.  6E 20201444  vPushImm4 44142020
006FFF7E  |.  70 0C        vPushImmSx1 0C
006FFF7C  |.  B1           vPushVEsp
006FFF7B  |.  ED           vAdd4
006FFF7A  |.  CF 0C        未知指令
006FFF78  |.  17           vWriteMemSs4
006FFF77  |.  DF 0C        vPopReg2 vR3W
006FFF75  |.  12 18        vPopReg2 vR6W
006FFF73  |.  0D           vNand4
006FFF72  |.  CF 3C        未知指令
006FFF70  |.  5C 28        未知指令
006FFF6E  |.  6D 28        未知指令
006FFF6C  |.  0C           vNand4
006FFF6B  |.  8F 0C        未知指令
006FFF69  |.  0D           vNand4
006FFF68  |.  CF 04        未知指令
006FFF66  |.  E3 3C01E500  vPushImm4 0E5013C
006FFF61  |.  E3 FDA45A19  vPushImm4 195AA4FD
006FFF5C  |.  6E A0CE18E7  vPushImm4 0E718CEA0
006FFF57  |.  ED           vAdd4
006FFF56  |.  8F 3C        未知指令
006FFF54  |.  5C 2C        未知指令
006FFF52  |.  0A           vAdd4
006FFF51  |.  8F 0C        未知指令
006FFF4F  |.  22           vReadMemDs4
006FFF4E  |.  57           vAdd4
006FFF4D  |.  CF 18        未知指令
006FFF4B  |.  6E D43E5141  vPushImm4 41513ED4
006FFF46  |.  0A           vAdd4
006FFF45  |.  8F 3C        未知指令
006FFF43  |.  5C 28        未知指令
006FFF41  |.  0C           vNand4
006FFF40  |.  CF 3C        未知指令
006FFF3E  |.  0C           vNand4
006FFF3D  |.  CF 00        未知指令
006FFF3B  |.  CF 3C        未知指令
006FFF39  |.  CF 28        未知指令
006FFF37  |.  0C           vNand4
006FFF36  |.  8F 00        未知指令
006FFF34  |.  8F 00        未知指令
006FFF32  |.  6E A45149A2  vPushImm4 0A24951A4
006FFF2D  |.  A2 0C        未知指令
006FFF2B  |.  07 28        vPopReg1 vR10B
006FFF29  |.  6E ECE47605  vPushImm4 576E4EC
006FFF24  |.  88           vPushVEsp
006FFF23  |.  FB 06        vPushImmSx1 6
006FFF21  |.  0A           vAdd4
006FFF20  |.  CF 18        未知指令
006FFF1E  |.  E5           vWriteMemSs4
006FFF1D  |.  07 08        vPopReg1 vR2B
006FFF1B  |.  1F           vAdd4
006FFF1A  |.  8F 04        未知指令
006FFF18  |.  6D 2C        未知指令
006FFF16  |.  57           vAdd4
006FFF15  |.  8F 18        未知指令
006FFF13  |.  22           vReadMemDs4
006FFF12  |.  0A           vAdd4
006FFF11  |.  88           vPushVEsp
006FFF10  |.  19           vReadMemSs4
006FFF0F  |.  CF 0C        未知指令
006FFF0D  |.  F6           vPushVEsp
006FFF0C  |.  2F           vReadMemSs1
006FFF0B  |.  E3 5FCE82AE  vPushImm4 0AE82CE5F
006FFF06  |.  A5 0A        vPushImmSx1 0A
006FFF04  |.  88           vPushVEsp
006FFF03  |.  1F           vAdd4
006FFF02  |.  CF 18        未知指令
006FFF00  |.  60           vWriteMemSs4
006FFEFF  |.  C0 4327      vPushImm2 2743
006FFEFC  |.  25           vShr1
006FFEFB  |.  CF 04        未知指令
006FFEF9  |.  6E F2D755EF  vPushImm4 0EF55D7F2
006FFEF4  |.  6E B2ECFE3C  vPushImm4 3CFEECB2
006FFEEF  |.  E3 B73F70C3  vPushImm4 0C3703FB7
006FFEEA  |.  3D 01        vPushReg1 vR0B
006FFEE8  |.  07 0C        vPopReg1 vR3B
006FFEE6  |.  1F           vAdd4
006FFEE5  |.  CF 28        未知指令
006FFEE3  |.  5C 2C        未知指令
006FFEE1  |.  0A           vAdd4
006FFEE0  |.  8F 04        未知指令
006FFEDE  |.  22           vReadMemDs4
006FFEDD  |.  ED           vAdd4
006FFEDC  |.  CF 0C        未知指令
006FFEDA  |.  6E 493EEDD0  vPushImm4 0D0ED3E49
006FFED5  |.  88           vPushVEsp
006FFED4  |.  19           vReadMemSs4
006FFED3  |.  E3 9B62181D  vPushImm4 1D18629B
006FFECE  |.  70 0C        vPushImmSx1 0C
006FFECC  |.  C1           vPushVEsp
006FFECB  |.  0A           vAdd4
006FFECA  |.  8F 18        未知指令
006FFEC8  |.  60           vWriteMemSs4
006FFEC7  |.  8C 28        vPopReg2 vR10W
006FFEC5  |.  88           vPushVEsp
006FFEC4  |.  52           vReadMemSs2
006FFEC3  |.  04           vShl2
006FFEC2  |.  CF 28        未知指令
006FFEC0  |.  DF 0C        vPopReg2 vR3W
006FFEBE  |.  37           vNand4
006FFEBD  |.  CF 08        未知指令
006FFEBB  |.  6D 38        未知指令
006FFEB9  |.  6D 38        未知指令
006FFEB7  |.  37           vNand4
006FFEB6  |.  CF 18        未知指令
006FFEB4  |.  0C           vNand4
006FFEB3  |.  CF 0C        未知指令
006FFEB1  |.  6E E960CA99  vPushImm4 99CA60E9
006FFEAC  |.  6E 18A18672  vPushImm4 7286A118
006FFEA7  |.  5C 38        未知指令
006FFEA5  |.  F6           vPushVEsp
006FFEA4  |.  10           vReadMemSs4
006FFEA3  |.  04           vShl2
006FFEA2  |.  8F 18        未知指令
006FFEA0  |.  6E BA290EAF  vPushImm4 0AF0E29BA
006FFE9B  |.  E3 F05EE88D  vPushImm4 8DE85EF0
006FFE96  |.  70 0E        vPushImmSx1 0E
006FFE94  |.  88           vPushVEsp
006FFE93  |.  0A           vAdd4
006FFE92  |.  CF 18        未知指令
006FFE90  |.  74           vWriteMemSs4
006FFE8F  |.  39           vAdd1
006FFE8E  |.  8F 08        未知指令
006FFE8C  |.  30 1F85      vPushImm2 851F
006FFE89  |.  DF 04        vPopReg2 vR1W
006FFE87  |.  C2 08        vPopReg2 vR2W
006FFE85  |.  12 28        vPopReg2 vR10W
006FFE83  |.  0A           vAdd4
006FFE82  |.  CF 28        未知指令
006FFE80  |.  5C 2C        未知指令
006FFE7E  |.  57           vAdd4
006FFE7D  |.  CF 28        未知指令
006FFE7B  |.  22           vReadMemDs4
006FFE7A  |.  0A           vAdd4
006FFE79  |.  CF 18        未知指令
006FFE77  |.  6D 14        未知指令
006FFE75  |.  88           vPushVEsp
006FFE74  |.  10           vReadMemSs4
006FFE73  |.  E3 245CA8DE  vPushImm4 0DEA85C24
006FFE6E  |.  88           vPushVEsp
006FFE6D  |.  70 08        vPushImmSx1 8
006FFE6B  |.  0A           vAdd4
006FFE6A  |.  CF 08        未知指令
006FFE68  |.  17           vWriteMemSs4
006FFE67  |.  3B 28        vPopReg2 vR10W
006FFE65  |.  3B 04        vPopReg2 vR1W
006FFE63  |.  1F           vAdd4
006FFE62  |.  8F 0C        未知指令
006FFE60  |.  6D 38        未知指令
006FFE5E  |.  0C           vNand4
006FFE5D  |.  8F 08        未知指令
006FFE5B  |.  0C           vNand4
006FFE5A  |.  8F 18        未知指令
006FFE58  |.  CF 04        未知指令
006FFE56  |.  48 0C        vPopReg1 vR3B
006FFE54  |.  1F           vAdd4
006FFE53  |.  CF 08        未知指令
006FFE51  |.  5C 00        未知指令
006FFE4F  |.  B1           vPushVEsp
006FFE4E  |.  10           vReadMemSs4
006FFE4D  |.  0C           vNand4
006FFE4C  |.  CF 38        未知指令
006FFE4A  |.  15           vNand4
006FFE49  |.  8F 38        未知指令
006FFE47  |.  E3 7A2F4704  vPushImm4 4472F7A
006FFE42  |.  E3 414C8FCE  vPushImm4 0CE8F4C41
006FFE3D  |.  6E D971DF31  vPushImm4 31DF71D9
006FFE38  |.  F6           vPushVEsp
006FFE37  |.  10           vReadMemSs4
006FFE36  |.  3B 0C        vPopReg2 vR3W
006FFE34  |.  12 0C        vPopReg2 vR3W
006FFE32  |.  ED           vAdd4
006FFE31  |.  8F 28        未知指令
006FFE2F  |.  A2 2C        未知指令
006FFE2D  |.  1F           vAdd4
006FFE2C  |.  CF 08        未知指令
006FFE2A  |.  22           vReadMemDs4
006FFE29  |.  0A           vAdd4
006FFE28  |.  CF 28        未知指令
006FFE26  |.  6D 28        未知指令
006FFE24  |.  C0 6E97      vPushImm2 976E
006FFE21  |.  E3 38CF0EB4  vPushImm4 0B40ECF38
006FFE1C  |.  88           vPushVEsp
006FFE1B  |.  A5 06        vPushImmSx1 6
006FFE19  |.  0A           vAdd4
006FFE18  |.  8F 18        未知指令
006FFE16  |.  17           vWriteMemSs4
006FFE15  |.  07 08        vPopReg1 vR2B
006FFE13  |.  57           vAdd4
006FFE12  |.  8F 08        未知指令
006FFE10  |.  5C 00        未知指令
006FFE0E  |.  15           vNand4
006FFE0D  |.  8F 18        未知指令
006FFE0B  |.  0C           vNand4
006FFE0A  |.  8F 08        未知指令
006FFE08  |.  CF 28        未知指令
006FFE06  |.  5C 10        未知指令
006FFE04  |.  5C 3C        未知指令
006FFE02  |.  5C 28        未知指令
006FFE00  |.  0A           vAdd4
006FFDFF  |.  CF 18        未知指令
006FFDFD  |.  8F 38        未知指令
006FFDFB  |.  A2 10        未知指令
006FFDF9  |.  0C           vNand4
006FFDF8  |.  8F 00        未知指令
006FFDF6  |.  5C 38        未知指令
006FFDF4  |.  5C 38        未知指令
006FFDF2  |.  15           vNand4
006FFDF1  |.  8F 18        未知指令
006FFDEF  |.  15           vNand4
006FFDEE  |.  8F 3C        未知指令
006FFDEC  |.  6D 10        未知指令
006FFDEA  |.  A2 38        未知指令
006FFDE8  |.  15           vNand4
006FFDE7  |.  CF 3C        未知指令
006FFDE5  |.  0C           vNand4
006FFDE4  |.  CF 08        未知指令
006FFDE2  |.  CF 18        未知指令
006FFDE0  |.  1C 05        vPushImm1 5
006FFDDE  |.  E3 5EF3A0FF  vPushImm4 0FFA0F35E
006FFDD9  |.  6E 4A23A012  vPushImm4 12A0234A
006FFDD4  |.  0D           vNand4
006FFDD3  |.  8F 24        未知指令
006FFDD1  |.  5C 18        未知指令
006FFDCF  |.  A2 18        未知指令
006FFDCD  |.  15           vNand4
006FFDCC  |.  CF 24        未知指令
006FFDCA  |.  CF 0C        未知指令
006FFDC8  |.  5C 2C        未知指令
006FFDC6  |.  0A           vAdd4
006FFDC5  |.  8F 00        未知指令
006FFDC3  |.  4E           vReadMemDs1
006FFDC2  |.  1D           vAdd1
006FFDC1  |.  8F 3C        未知指令
006FFDBF  |.  5C 0C        未知指令
006FFDBD  |.  88           vPushVEsp
006FFDBC  |.  10           vReadMemSs4
006FFDBB  |.  05           vShld
006FFDBA  |.  8F 3C        未知指令
006FFDB8  |.  CF 3C        未知指令
006FFDB6  |.  6E 913DF253  vPushImm4 53F23D91
006FFDB1  |.  6E CACB540D  vPushImm4 0D54CBCA
006FFDAC  |.  E3 662C4EFE  vPushImm4 0FE4E2C66
006FFDA7  |.  30 E71B      vPushImm2 1BE7
006FFDA4  |.  E3 60550BF3  vPushImm4 0F30B5560
006FFD9F  |.  88           vPushVEsp
006FFD9E  |.  1C 7D        vPushImm1 7D
006FFD9C  |.  E3 54AF0A40  vPushImm4 400AAF54
006FFD97  |.  6E 549FD9B8  vPushImm4 0B8D99F54
006FFD92  |.  6D 28        未知指令
006FFD90  |.  E3 778F65C0  vPushImm4 0C0658F77
006FFD8B  |.  A5 0C        vPushImmSx1 0C
006FFD89  |.  B1           vPushVEsp
006FFD88  |.  0A           vAdd4
006FFD87  |.  CF 00        未知指令
006FFD85  |.  A2 3C        未知指令
006FFD83  |.  E3 9B686439  vPushImm4 3964689B
006FFD7E  |.  E3 647FEBFF  vPushImm4 0FFEB7F64
006FFD79  |.  E3 99DF7400  vPushImm4 74DF99
006FFD74  |.  0A           vAdd4
006FFD73  |.  CF 18        未知指令
006FFD71  |.  A2 2C        未知指令
006FFD6F  |.  57           vAdd4
006FFD6E  |.  CF 00        未知指令
006FFD6C  |.  22           vReadMemDs4
006FFD6B  |.  ED           vAdd4
006FFD6A  |.  8F 38        未知指令
006FFD68  |.  1F           vAdd4
006FFD67  |.  8F 24        未知指令
006FFD65  |.  B1           vPushVEsp
006FFD64  |.  83           vReadMemSs4
006FFD63  |.  15           vNand4
006FFD62  |.  8F 18        未知指令
006FFD60  |.  8F 0C        未知指令
006FFD5E  |.  6D 24        未知指令
006FFD5C  |.  5C 24        未知指令
006FFD5A  |.  0C           vNand4
006FFD59  |.  CF 00        未知指令
006FFD57  |.  E3 D20891C2  vPushImm4 0C29108D2
006FFD52  |.  E3 E95E457B  vPushImm4 7B455EE9
006FFD4D  |.  A2 0C        未知指令
006FFD4B  |.  A2 0C        未知指令
006FFD49  |.  0C           vNand4
006FFD48  |.  CF 08        未知指令
006FFD46  |.  8F 3C        未知指令
006FFD44  |.  5C 3C        未知指令
006FFD42  |.  B1           vPushVEsp
006FFD41  |.  19           vReadMemSs4
006FFD40  |.  6E 87F51785  vPushImm4 8517F587
006FFD3B  |.  88           vPushVEsp
006FFD3A  |.  FB 08        vPushImmSx1 8
006FFD38  |.  ED           vAdd4
006FFD37  |.  CF 00        未知指令
006FFD35  |.  60           vWriteMemSs4
006FFD34  |.  CF 08        未知指令
006FFD32  |.  57           vAdd4
006FFD31  |.  CF 08        未知指令
006FFD2F  |.  5C 2C        未知指令
006FFD2D  |.  1F           vAdd4
006FFD2C  |.  CF 00        未知指令
006FFD2A  |.  22           vReadMemDs4
006FFD29  |.  1F           vAdd4
006FFD28  |.  8F 08        未知指令
006FFD26  |.  6E AB490063  vPushImm4 630049AB
006FFD21  |.  0A           vAdd4
006FFD20  |.  8F 08        未知指令
006FFD1E  |.  0C           vNand4
006FFD1D  |.  CF 38        未知指令
006FFD1B  |.  5C 18        未知指令
006FFD19  |.  A2 18        未知指令
006FFD17  |.  0D           vNand4
006FFD16  |.  8F 14        未知指令
006FFD14  |.  E3 131E272A  vPushImm4 2A271E13
006FFD0F  |.  E3 DD60B32B  vPushImm4 2BB360DD
006FFD0A  |.  E3 BFF87A57  vPushImm4 577AF8BF
006FFD05  |.  18 F46D      vPushImm2 6DF4
006FFD02  |.  6E 0516ACD4  vPushImm4 0D4AC1605
006FFCFD  |.  A5 0A        vPushImmSx1 0A
006FFCFB  |.  F6           vPushVEsp
006FFCFA  |.  0A           vAdd4
006FFCF9  |.  CF 0C        未知指令
006FFCF7  |.  17           vWriteMemSs4
006FFCF6  |.  88           vPushVEsp
006FFCF5  |.  2F           vReadMemSs1
006FFCF4  |.  1D           vAdd1
006FFCF3  |.  CF 0C        未知指令
006FFCF1  |.  30 76FD      vPushImm2 0FD76
006FFCEE  |.  CF 0C        未知指令
006FFCEC  |.  57           vAdd4
006FFCEB  |.  CF 38        未知指令
006FFCE9  |.  A2 2C        未知指令
006FFCE7  |.  0A           vAdd4
006FFCE6  |.  CF 0C        未知指令
006FFCE4  |.  A3           vReadMemDs4
006FFCE3  |.  0A           vAdd4
006FFCE2  |.  CF 00        未知指令
006FFCE0  |.  E3 3400FF38  vPushImm4 38FF0034
006FFCDB  |.  88           vPushVEsp
006FFCDA  |.  2F           vReadMemSs1
006FFCD9  |.  07 00        vPopReg1 vR0B
006FFCD7  |.  0A           vAdd4
006FFCD6  |.  CF 14        未知指令
006FFCD4  |.  0C           vNand4
006FFCD3  |.  CF 38        未知指令
006FFCD1  |.  1F           vAdd4
006FFCD0  |.  CF 14        未知指令
006FFCCE  |.  8F 08        未知指令
006FFCCC  |.  74           vWriteMemSs4
006FFCCB  |.  7E           vNand1
006FFCCA  |.  8F 14        未知指令
006FFCC8  |.  3B 00        vPopReg2 vR0W
006FFCC6  |.  0A           vAdd4
006FFCC5  |.  8F 38        未知指令
006FFCC3  |.  A2 2C        未知指令
006FFCC1  |.  0A           vAdd4
006FFCC0  |.  8F 24        未知指令
006FFCBE  |.  94           vReadMemDs1
006FFCBD  |.  1D           vAdd1
006FFCBC  |.  CF 24        未知指令
006FFCBA  |.  A2 3C        未知指令
006FFCB8  |.  88           vPushVEsp
006FFCB7  |.  10           vReadMemSs4
006FFCB6  |.  2B           vShrd
006FFCB5  |.  CF 24        未知指令
006FFCB3  |.  CF 0C        未知指令
006FFCB1  |.  5C 08        未知指令
006FFCAF  |.  6D 08        未知指令
006FFCAD  |.  0C           vNand4
006FFCAC  |.  8F 3C        未知指令
006FFCAA  |.  E3 16CDB710  vPushImm4 10B7CD16
006FFCA5  |.  E3 653992FF  vPushImm4 0FF923965
006FFCA0  |.  6E 65300240  vPushImm4 40023065
006FFC9B  |.  0D           vNand4
006FFC9A  |.  CF 38        未知指令
006FFC98  |.  5C 2C        未知指令
006FFC96  |.  1F           vAdd4
006FFC95  |.  8F 18        未知指令
006FFC93  |.  A3           vReadMemDs4
006FFC92  |.  0A           vAdd4
006FFC91  |.  88           vPushVEsp
006FFC90  |.  35           vReadMemSs4
006FFC8F  |.  8F 38        未知指令
006FFC8D  |.  6E D64DB680  vPushImm4 80B64DD6
006FFC88  |.  6E 796E17B7  vPushImm4 0B7176E79
006FFC83  |.  B1           vPushVEsp
006FFC82  |.  70 08        vPushImmSx1 8
006FFC80  |.  0A           vAdd4
006FFC7F  |.  CF 3C        未知指令
006FFC7D  |.  AF           vWriteMemSs4
006FFC7C  |.  CF 3C        未知指令
006FFC7A  |.  0A           vAdd4
006FFC79  |.  CF 3C        未知指令
006FFC77  |.  37           vNand4
006FFC76  |.  CF 18        未知指令
006FFC74  |.  A2 24        未知指令
006FFC72  |.  F6           vPushVEsp
006FFC71  |.  10           vReadMemSs4
006FFC70  |.  15           vNand4
006FFC6F  |.  CF 38        未知指令
006FFC6D  |.  6E D98A0511  vPushImm4 11058AD9
006FFC68  |.  6E 4D829FFF  vPushImm4 0FF9F824D
006FFC63  |.  E3 B2FD077A  vPushImm4 7A07FDB2
006FFC5E  |.  D3 12        vPushReg2 vR4W
006FFC5C  |.  E3 44028117  vPushImm4 17810244
006FFC57  |.  C1           vPushVEsp
006FFC56  |.  FB 06        vPushImmSx1 6
006FFC54  |.  57           vAdd4
006FFC53  |.  CF 38        未知指令
006FFC51  |.  17           vWriteMemSs4
006FFC50  |.  12 3C        vPopReg2 vR15W
006FFC4E  |.  0D           vNand4
006FFC4D  |.  8F 38        未知指令
006FFC4B  |.  A2 2C        未知指令
006FFC49  |.  1F           vAdd4
006FFC48  |.  CF 18        未知指令
006FFC46  |.  49           vReadMemDs4
006FFC45  |.  ED           vAdd4
006FFC44  |.  CF 38        未知指令
006FFC42  |.  6D 1C        未知指令
006FFC40  |.  88           vPushVEsp
006FFC3F  |.  35           vReadMemSs4
006FFC3E  |.  E3 7A73FC84  vPushImm4 84FC737A
006FFC39  |.  88           vPushVEsp
006FFC38  |.  70 08        vPushImmSx1 8
006FFC36  |.  1F           vAdd4
006FFC35  |.  CF 38        未知指令
006FFC33  |.  17           vWriteMemSs4
006FFC32  |.  D3 22        vPushReg2 vR8W
006FFC30  |.  88           vPushVEsp
006FFC2F  |.  FB 03        vPushImmSx1 3
006FFC2D  |.  0A           vAdd4
006FFC2C  |.  8F 3C        未知指令
006FFC2A  |.  47           vWriteMemSs2
006FFC29  |.  A5 05        vPushImmSx1 5
006FFC27  |.  B1           vPushVEsp
006FFC26  |.  0A           vAdd4
006FFC25  |.  8F 3C        未知指令
006FFC23  |.  28           vWriteMemSs1
006FFC22  |.  12 3C        vPopReg2 vR15W
006FFC20  |.  1F           vAdd4
006FFC1F  |.  8F 14        未知指令
006FFC1D  |.  0D           vNand4
006FFC1C  |.  8F 38        未知指令
006FFC1A  |.  ED           vAdd4
006FFC19  |.  CF 14        未知指令
006FFC17  |.  CF 3C        未知指令
006FFC15  |.  FB 06        vPushImmSx1 6
006FFC13  |.  0A           vAdd4
006FFC12  |.  8F 38        未知指令
006FFC10  |.  60           vWriteMemSs4
006FFC0F  |.  DF 18        vPopReg2 vR6W
006FFC0D  |.  0A           vAdd4
006FFC0C  |.  8F 38        未知指令
006FFC0A  |.  5C 2C        未知指令
006FFC08  |.  0A           vAdd4
006FFC07  |.  CF 00        未知指令
006FFC05  |.  22           vReadMemDs4
006FFC04  |.  0A           vAdd4
006FFC03  |.  CF 00        未知指令
006FFC01  |.  6D 0C        未知指令
006FFBFF  |.  57           vAdd4
006FFBFE  |.  CF 18        未知指令
006FFBFC  |.  CF 08        未知指令
006FFBFA  |.  A2 3C        未知指令
006FFBF8  |.  C1           vPushVEsp
006FFBF7  |.  10           vReadMemSs4
006FFBF6  |.  0C           vNand4
006FFBF5  |.  CF 38        未知指令
006FFBF3  |.  E3 6A1B84B1  vPushImm4 0B1841B6A
006FFBEE  |.  E3 791AAD72  vPushImm4 72AD1A79
006FFBE9  |.  5C 30        未知指令
006FFBE7  |.  88           vPushVEsp
006FFBE6  |.  2F           vReadMemSs1
006FFBE5  |.  E3 9D03B18D  vPushImm4 8DB1039D
006FFBE0  |.  A5 0A        vPushImmSx1 0A
006FFBDE  |.  88           vPushVEsp
006FFBDD  |.  0A           vAdd4
006FFBDC  |.  6E FE893D3B  vPushImm4 3B3D89FE
006FFBD7  |.  E3 9641B8DD  vPushImm4 0DDB84196
006FFBD2  |.  E3 6D9746E3  vPushImm4 0E346976D
006FFBCD  |.  B1           vPushVEsp
006FFBCC  |.  66           vReadMemSs1
006FFBCB  |.  E3 632DBE22  vPushImm4 22BE2D63
006FFBC6  |.  88           vPushVEsp
006FFBC5  |.  FB 06        vPushImmSx1 6
006FFBC3  |.  1F           vAdd4
006FFBC2  |.  CF 00        未知指令
006FFBC0  |.  17           vWriteMemSs4
006FFBBF  |.  63 19        vPushReg1 vR6B
006FFBBD  |.  CF 38        未知指令
006FFBBB  |.  0A           vAdd4
006FFBBA  |.  CF 24        未知指令
006FFBB8  |.  6D 2C        未知指令
006FFBB6  |.  0A           vAdd4
006FFBB5  |.  8F 0C        未知指令
006FFBB3  |.  22           vReadMemDs4
006FFBB2  |.  57           vAdd4
006FFBB1  |.  CF 24        未知指令
006FFBAF  |.  E3 4775C182  vPushImm4 82C17547
006FFBAA  |.  C1           vPushVEsp
006FFBA9  |.  E2           vReadMemSs2
006FFBA8  |.  3B 24        vPopReg2 vR9W
006FFBA6  |.  0A           vAdd4
006FFBA5  |.  CF 00        未知指令
006FFBA3  |.  5C 10        未知指令
006FFBA1  |.  0A           vAdd4
006FFBA0  |.  8F 14        未知指令
006FFB9E  |.  22           vReadMemDs4
006FFB9D  |.  CF 14        未知指令
006FFB9B  |.  8F 00        未知指令
006FFB99  |.  AF           vWriteMemSs4
006FFB98  |.  12 38        vPopReg2 vR14W
006FFB96  |.  F6           vPushVEsp
006FFB95  |.  2F           vReadMemSs1
006FFB94  |.  8C 00        vPopReg2 vR0W
006FFB92  |.  1F           vAdd4
006FFB91  |.  8F 38        未知指令
006FFB8F  |.  6D 2C        未知指令
006FFB8D  |.  1F           vAdd4
006FFB8C  |.  CF 00        未知指令
006FFB8A  |.  49           vReadMemDs4
006FFB89  |.  0A           vAdd4
006FFB88  |.  8F 24        未知指令
006FFB86  |.  6E 21386ED3  vPushImm4 0D36E3821
006FFB81  |.  57           vAdd4
006FFB80  |.  CF 28        未知指令
006FFB7E  |.  0C           vNand4
006FFB7D  |.  CF 0C        未知指令
006FFB7B  |.  5C 18        未知指令
006FFB79  |.  88           vPushVEsp
006FFB78  |.  35           vReadMemSs4
006FFB77  |.  0D           vNand4
006FFB76  |.  8F 38        未知指令
006FFB74  |.  5C 14        未知指令
006FFB72  |.  5C 14        未知指令
006FFB70  |.  37           vNand4
006FFB6F  |.  8F 38        未知指令
006FFB6D  |.  8F 00        未知指令
006FFB6B  |.  6E C543C0DF  vPushImm4 0DFC043C5
006FFB66  |.  E3 3791109E  vPushImm4 9E109137
006FFB61  |.  E3 C7A3EF42  vPushImm4 42EFA3C7
006FFB5C  |.  B1           vPushVEsp
006FFB5B  |.  66           vReadMemSs1
006FFB5A  |.  6E AE2E4F62  vPushImm4 624F2EAE
006FFB55  |.  88           vPushVEsp
006FFB54  |.  A5 06        vPushImmSx1 6
006FFB52  |.  1C 6C        vPushImm1 6C
006FFB50  |.  6E 12877A4E  vPushImm4 4E7A8712
006FFB4B  |.  6E 021CEB50  vPushImm4 50EB1C02
006FFB46  |.  6D 08        未知指令
006FFB44  |.  6E DE4EE4B1  vPushImm4 0B1E44EDE
006FFB3F  |.  70 0C        vPushImmSx1 0C
006FFB3D  |.  88           vPushVEsp
006FFB3C  |.  ED           vAdd4
006FFB3B  |.  CF 38        未知指令
006FFB39  |.  60           vWriteMemSs4
006FFB38  |.  26 0C        vPopReg1 vR3B
006FFB36  |.  30 D1B3      vPushImm2 0B3D1
006FFB33  |.  12 0C        vPopReg2 vR3W
006FFB31  |.  12 28        vPopReg2 vR10W
006FFB2F  |.  0A           vAdd4
006FFB2E  |.  8F 28        未知指令
006FFB2C  |.  5C 2C        未知指令
006FFB2A  |.  1F           vAdd4
006FFB29  |.  8F 28        未知指令
006FFB27  |.  4E           vReadMemDs1
006FFB26  |.  39           vAdd1
006FFB25  |.  CF 0C        未知指令
006FFB23  |.  6D 00        未知指令
006FFB21  |.  88           vPushVEsp
006FFB20  |.  19           vReadMemSs4
006FFB1F  |.  05           vShld
006FFB1E  |.  CF 14        未知指令
006FFB1C  |.  CF 28        未知指令
006FFB1A  |.  1F           vAdd4
006FFB19  |.  8F 14        未知指令
006FFB17  |.  17           vWriteMemSs4
006FFB16  |.  88           vPushVEsp
006FFB15  |.  2F           vReadMemSs1
006FFB14  |.  FB 05        vPushImmSx1 5
006FFB12  |.  88           vPushVEsp
006FFB11  |.  0A           vAdd4
006FFB10  |.  CF 38        未知指令
006FFB0E  |.  28           vWriteMemSs1
006FFB0D  |.  88           vPushVEsp
006FFB0C  |.  52           vReadMemSs2
006FFB0B  |.  12 38        vPopReg2 vR14W
006FFB09  |.  12 24        vPopReg2 vR9W
006FFB07  |.  0A           vAdd4
006FFB06  |.  8F 00        未知指令
006FFB04  |.  5C 2C        未知指令
006FFB02  |.  ED           vAdd4
006FFB01  |.  CF 14        未知指令
006FFAFF  |.  22           vReadMemDs4
006FFAFE  |.  0A           vAdd4
006FFAFD  |.  CF 38        未知指令
006FFAFB  |.  E3 B9BE1353  vPushImm4 5313BEB9
006FFAF6  |.  D3 18        vPushReg2 vR6W
006FFAF4  |.  6E CE612274  vPushImm4 742261CE
006FFAEF  |.  70 0A        vPushImmSx1 0A
006FFAED  |.  88           vPushVEsp
006FFAEC  |.  0A           vAdd4
006FFAEB  |.  8F 0C        未知指令
006FFAE9  |.  17           vWriteMemSs4
006FFAE8  |.  12 38        vPopReg2 vR14W
006FFAE6  |.  0D           vNand4
006FFAE5  |.  CF 38        未知指令
006FFAE3  |.  37           vNand4
006FFAE2  |.  CF 0C        未知指令
006FFAE0  |.  57           vAdd4
006FFADF  |.  8F 38        未知指令
006FFADD  |.  8F 0C        未知指令
006FFADB  |.  E3 6071BA37  vPushImm4 37BA7160
006FFAD6  |.  6E 889992FF  vPushImm4 0FF929988
006FFAD1  |.  E3 072322BA  vPushImm4 0BA222307
006FFACC  |.  88           vPushVEsp
006FFACB  |.  2F           vReadMemSs1
006FFACA  |.  1C 33        vPushImm1 33
006FFAC8  |.  E3 6D1919A2  vPushImm4 0A219196D
006FFAC3  |.  E3 A590545E  vPushImm4 5E5490A5
006FFABE  |.  0A           vAdd4
006FFABD  |.  CF 14        未知指令
006FFABB  |.  6D 2C        未知指令
006FFAB9  |.  0A           vAdd4
006FFAB8  |.  CF 38        未知指令
006FFAB6  |.  6B           vReadMemDs1
006FFAB5  |.  1D           vAdd1
006FFAB4  |.  A2 28        未知指令
006FFAB2  |.  6E 6EC0C838  vPushImm4 38C8C06E
006FFAAD  |.  E3 24F52C94  vPushImm4 942CF524
006FFAA8  |.  5C 1C        未知指令
006FFAA6  |.  18 09B3      vPushImm2 0B309
006FFAA3  |.  E3 371F436C  vPushImm4 6C431F37
006FFA9E  |.  88           vPushVEsp
006FFA9D  |.  FB 06        vPushImmSx1 6
006FFA9B  |.  ED           vAdd4
006FFA9A  |.  CF 3C        未知指令
006FFA98  |.  17           vWriteMemSs4
006FFA97  |.  88           vPushVEsp
006FFA96  |.  2F           vReadMemSs1
006FFA95  |.  12 38        vPopReg2 vR14W
006FFA93  |.  12 3C        vPopReg2 vR15W
006FFA91  |.  1F           vAdd4
006FFA90  |.  8F 14        未知指令
006FFA8E  |.  6D 2C        未知指令
006FFA8C  |.  0A           vAdd4
006FFA8B  |.  8F 24        未知指令
006FFA89  |.  22           vReadMemDs4
006FFA88  |.  1F           vAdd4
006FFA87  |.  8F 3C        未知指令
006FFA85  |.  ED           vAdd4
006FFA84  |.  CF 00        未知指令
006FFA82  |.  88           vPushVEsp
006FFA81  |.  83           vReadMemSs4
006FFA80  |.  37           vNand4
006FFA7F  |.  CF 38        未知指令
006FFA7D  |.  CF 3C        未知指令
006FFA7B  |.  6D 00        未知指令
006FFA79  |.  A2 00        未知指令
006FFA77  |.  15           vNand4
006FFA76  |.  8F 0C        未知指令
006FFA74  |.  E3 948DC5FE  vPushImm4 0FEC58D94
006FFA6F  |.  E3 068E63F3  vPushImm4 0F3638E06
006FFA6A  |.  E3 3582FC0C  vPushImm4 0CFC8235
006FFA65  |.  0A           vAdd4
006FFA64  |.  CF 24        未知指令
006FFA62  |.  5C 2C        未知指令
006FFA60  |.  0A           vAdd4
006FFA5F  |.  CF 24        未知指令
006FFA5D  |.  22           vReadMemDs4
006FFA5C  |.  ED           vAdd4
006FFA5B  |.  CF 14        未知指令
006FFA59  |.  6E 4EC0A123  vPushImm4 23A1C04E
006FFA54  |.  5C 38        未知指令
006FFA52  |.  6E 11080000  vPushImm4 811
006FFA4D  |.  B1           vPushVEsp
006FFA4C  |.  70 08        vPushImmSx1 8
006FFA4A  |.  57           vAdd4
006FFA49  |.  8F 18        未知指令
006FFA47  |.  17           vWriteMemSs4
006FFA46  |.  8F 14        未知指令
006FFA44  |.  37           vNand4
006FFA43  |.  CF 28        未知指令
006FFA41  |.  0C           vNand4
006FFA40  |.  5C 3C        未知指令
006FFA3E  |.  88           vPushVEsp
006FFA3D  |.  10           vReadMemSs4
006FFA3C  |.  0C           vNand4
006FFA3B  |.  CF 0C        未知指令
006FFA39  |.  8F 24        未知指令
006FFA37  |.  CF 0C        未知指令
006FFA35  |.  6D 38        未知指令
006FFA33  |.  6D 38        未知指令
006FFA31  |.  37           vNand4
006FFA30  |.  CF 28        未知指令
006FFA2E  |.  E3 C7A13064  vPushImm4 6430A1C7
006FFA29  |.  E3 861900B8  vPushImm4 0B8001986
006FFA24  |.  E3 E989C07C  vPushImm4 7CC089E9
006FFA1F  |.  DA E66D      vPushImm2 6DE6
006FFA1C  |.  6E 43376048  vPushImm4 48603743
006FFA17  |.  70 0A        vPushImmSx1 0A
006FFA15  |.  B1           vPushVEsp
006FFA14  |.  1F           vAdd4
006FFA13  |.  CF 18        未知指令
006FFA11  |.  17           vWriteMemSs4
006FFA10  |.  12 18        vPopReg2 vR6W
006FFA0E  |.  0A           vAdd4
006FFA0D  |.  8F 14        未知指令
006FFA0B  |.  6D 2C        未知指令
006FFA09  |.  0A           vAdd4
006FFA08  |.  CF 18        未知指令
006FFA06  |.  A3           vReadMemDs4
006FFA05  |.  0A           vAdd4
006FFA04  |.  CF 18        未知指令
006FFA02  |.  A2 0C        未知指令
006FFA00  |.  DA AAB6      vPushImm2 0B6AA
006FF9FD  |.  6E 274D5FA0  vPushImm4 0A05F4D27
006FF9F8  |.  F6           vPushVEsp
006FF9F7  |.  70 06        vPushImmSx1 6
006FF9F5  |.  0A           vAdd4
006FF9F4  |.  CF 28        未知指令
006FF9F2  |.  17           vWriteMemSs4
006FF9F1  |.  CB CF        vPushImm1 0CF
006FF9EF  |.  48 18        vPopReg1 vR6B
006FF9ED  |.  3B 0C        vPopReg2 vR3W
006FF9EB  |.  0A           vAdd4
006FF9EA  |.  CF 14        未知指令
006FF9E8  |.  37           vNand4
006FF9E7  |.  CF 3C        未知指令
006FF9E5  |.  0A           vAdd4
006FF9E4  |.  8F 0C        未知指令
006FF9E2  |.  CF 3C        未知指令
006FF9E0  |.  8F 28        未知指令
006FF9DE  |.  6D 24        未知指令
006FF9DC  |.  88           vPushVEsp
006FF9DB  |.  19           vReadMemSs4
006FF9DA  |.  2B           vShrd
006FF9D9  |.  8F 0C        未知指令
006FF9D7  |.  CF 18        未知指令
006FF9D5  |.  6D 3C        未知指令
006FF9D3  |.  5C 3C        未知指令
006FF9D1  |.  15           vNand4
006FF9D0  |.  CF 14        未知指令
006FF9CE  |.  6E E65AA80B  vPushImm4 0BA85AE6
006FF9C9  |.  6E 80935C9F  vPushImm4 9F5C9380
006FF9C4  |.  E3 DEC459B8  vPushImm4 0B859C4DE
006FF9BF  |.  5C 0C        未知指令
006FF9BD  |.  67           vNand1
006FF9BC  |.  CF 14        未知指令
006FF9BA  |.  6E D65A0261  vPushImm4 61025AD6
006FF9B5  |.  B1           vPushVEsp
006FF9B4  |.  70 06        vPushImmSx1 6
006FF9B2  |.  0A           vAdd4
006FF9B1  |.  8F 14        未知指令
006FF9AF  |.  17           vWriteMemSs4
006FF9AE  |.  D3 1A        vPushReg2 vR6W
006FF9AC  |.  8F 28        未知指令
006FF9AA  |.  1F           vAdd4
006FF9A9  |.  CF 00        未知指令
006FF9A7  |.  5C 2C        未知指令
006FF9A5  |.  1F           vAdd4
006FF9A4  |.  CF 00        未知指令
006FF9A2  |.  A3           vReadMemDs4
006FF9A1  |.  0A           vAdd4
006FF9A0  |.  C1           vPushVEsp
006FF99F  |.  35           vReadMemSs4
006FF99E  |.  8F 38        未知指令
006FF99C  |.  5C 2C        未知指令
006FF99A  |.  6E 17FF3427  vPushImm4 2734FF17
006FF995  |.  FB 0C        vPushImmSx1 0C
006FF993  |.  88           vPushVEsp
006FF992  |.  0A           vAdd4
006FF991  |.  CF 38        未知指令
006FF98F  |.  74           vWriteMemSs4
006FF98E  |.  34           vAdd2
006FF98D  |.  CF 00        未知指令
006FF98B  |.  12 38        vPopReg2 vR14W
006FF989  |.  57           vAdd4
006FF988  |.  CF 14        未知指令
006FF986  |.  15           vNand4
006FF985  |.  CF 14        未知指令
006FF983  |.  5C 0C        未知指令
006FF981  |.  A2 0C        未知指令
006FF97F  |.  0C           vNand4
006FF97E  |.  CF 00        未知指令
006FF97C  |.  E3 5C07146A  vPushImm4 6A14075C
006FF977  |.  6E 0256BA90  vPushImm4 90BA5602
006FF972  |.  6E A50E354B  vPushImm4 4B350EA5
006FF96D  |.  88           vPushVEsp
006FF96C  |.  10           vReadMemSs4
006FF96B  |.  07 24        vPopReg1 vR9B
006FF969  |.  E3 6E67A56F  vPushImm4 6FA5676E
006FF964  |.  88           vPushVEsp
006FF963  |.  70 06        vPushImmSx1 6
006FF961  |.  ED           vAdd4
006FF960  |.  CF 00        未知指令
006FF95E  |.  17           vWriteMemSs4
006FF95D  |.  DF 14        vPopReg2 vR5W
006FF95B  |.  1F           vAdd4
006FF95A  |.  8F 14        未知指令
006FF958  |.  6D 2C        未知指令
006FF956  |.  57           vAdd4
006FF955  |.  8F 14        未知指令
006FF953  |.  49           vReadMemDs4
006FF952  |.  0A           vAdd4
006FF951  |.  88           vPushVEsp
006FF950  |.  10           vReadMemSs4
006FF94F  |.  CF 24        未知指令
006FF94D  |.  B1           vPushVEsp
006FF94C  |.  2F           vReadMemSs1
006FF94B  |.  6E 02CF416D  vPushImm4 6D41CF02
006FF946  |.  70 0A        vPushImmSx1 0A
006FF944  |.  88           vPushVEsp
006FF943  |.  57           vAdd4
006FF942  |.  8F 28        未知指令
006FF940  |.  17           vWriteMemSs4
006FF93F  |.  12 24        vPopReg2 vR9W
006FF93D  |.  0C           vNand4
006FF93C  |.  CF 14        未知指令
006FF93A  |.  15           vNand4
006FF939  |.  CF 14        未知指令
006FF937  |.  0A           vAdd4
006FF936  |.  CF 14        未知指令
006FF934  |.  8F 38        未知指令
006FF932  |.  6E 88918000  vPushImm4 809188
006FF92D  |.  A5 0A        vPushImmSx1 0A
006FF92B  |.  B1           vPushVEsp
006FF92A  |.  1F           vAdd4
006FF929  |.  CF 24        未知指令
006FF927  |.  17           vWriteMemSs4
006FF926  |.  12 14        vPopReg2 vR5W
006FF924  |.  0C           vNand4
006FF923  |.  CF 00        未知指令
006FF921  |.  5C 2C        未知指令
006FF91F  |.  1F           vAdd4
006FF91E  |.  CF 00        未知指令
006FF91C  |.  22           vReadMemDs4
006FF91B  |.  0A           vAdd4
006FF91A  |.  CF 14        未知指令
006FF918  |.  5C 18        未知指令
006FF916  |.  0A           vAdd4
006FF915  |.  CF 24        未知指令
006FF913  |.  CF 00        未知指令
006FF911  |.  5C 38        未知指令
006FF90F  |.  88           vPushVEsp
006FF90E  |.  10           vReadMemSs4
006FF90D  |.  0D           vNand4
006FF90C  |.  8F 18        未知指令
006FF90A  |.  6E 45E056C7  vPushImm4 0C756E045
006FF905  |.  6E E88A8CFF  vPushImm4 0FF8C8AE8
006FF900  |.  E3 8557F956  vPushImm4 56F95785
006FF8FB  |.  D3 36        vPushReg2 vR13W
006FF8F9  |.  6E 80880469  vPushImm4 69048880
006FF8F4  |.  B1           vPushVEsp
006FF8F3  |.  A5 06        vPushImmSx1 6
006FF8F1  |.  0A           vAdd4
006FF8F0  |.  CF 18        未知指令
006FF8EE  |.  17           vWriteMemSs4
006FF8ED  |.  B1           vPushVEsp
006FF8EC  |.  19           vReadMemSs4
006FF8EB  |.  5C 1C        未知指令
006FF8E9  |.  3B 0C        vPopReg2 vR3W
006FF8E7  |.  8F 14        未知指令
006FF8E5  |.  DF 0C        vPopReg2 vR3W
006FF8E3  |.  DF 3C        vPopReg2 vR15W
006FF8E1  |.  0C           vNand4
006FF8E0  |.  8F 3C        未知指令
006FF8DE  |.  6D 2C        未知指令
006FF8DC  |.  0A           vAdd4
006FF8DB  |.  CF 28        未知指令
006FF8D9  |.  49           vReadMemDs4
006FF8D8  |.  1F           vAdd4
006FF8D7  |.  CF 3C        未知指令
006FF8D5  |.  E3 3112B94A  vPushImm4 4AB91231
006FF8D0  |.  18 CE31      vPushImm2 31CE
006FF8CD  |.  E3 891049F1  vPushImm4 0F1491089
006FF8C8  |.  88           vPushVEsp
006FF8C7  |.  70 06        vPushImmSx1 6
006FF8C5  |.  1F           vAdd4
006FF8C4  |.  8F 0C        未知指令
006FF8C2  |.  60           vWriteMemSs4
006FF8C1  |.  5C 2C        未知指令
006FF8BF  |.  4C           vShl2
006FF8BE  |.  CF 18        未知指令
006FF8BC  |.  65           vShr2
006FF8BB  |.  CF 28        未知指令
006FF8B9  |.  88           vPushVEsp
006FF8B8  |.  2F           vReadMemSs1
006FF8B7  |.  CF 14        未知指令
006FF8B5  |.  57           vAdd4
006FF8B4  |.  CF 3C        未知指令
006FF8B2  |.  0C           vNand4
006FF8B1  |.  8F 28        未知指令
006FF8AF  |.  5C 24        未知指令
006FF8AD  |.  C1           vPushVEsp
006FF8AC  |.  10           vReadMemSs4
006FF8AB  |.  15           vNand4
006FF8AA  |.  CF 14        未知指令
006FF8A8  |.  6E E8F38D0B  vPushImm4 0B8DF3E8
006FF8A3  |.  E3 4AFFA2FF  vPushImm4 0FFA2FF4A
006FF89E  |.  E3 488AA014  vPushImm4 14A08A48
006FF899  |.  F6           vPushVEsp
006FF898  |.  52           vReadMemSs2
006FF897  |.  12 0C        vPopReg2 vR3W
006FF895  |.  0C           vNand4
006FF894  |.  CF 14        未知指令
006FF892  |.  6D 2C        未知指令
006FF890  |.  1F           vAdd4
006FF88F  |.  CF 14        未知指令
006FF88D  |.  A3           vReadMemDs4
006FF88C  |.  0A           vAdd4
006FF88B  |.  CF 18        未知指令
006FF889  |.  6E C722CE29  vPushImm4 29CE22C7
006FF884  |.  D3 16        vPushReg2 vR5W
006FF882  |.  B1           vPushVEsp
006FF881  |.  10           vReadMemSs4
006FF880  |.  6E C04879BB  vPushImm4 0BB7948C0
006FF87B  |.  70 0E        vPushImmSx1 0E
006FF879  |.  F6           vPushVEsp
006FF878  |.  0A           vAdd4
006FF877  |.  CF 28        未知指令
006FF875  |.  74           vWriteMemSs4
006FF874  |.  C4           vNand2
006FF873  |.  8F 28        未知指令
006FF871  |.  CF 3C        未知指令
006FF86F  |.  0D           vNand4
006FF86E  |.  8F 18        未知指令
006FF86C  |.  0C           vNand4
006FF86B  |.  8F 3C        未知指令
006FF869  |.  57           vAdd4
006FF868  |.  8F 14        未知指令
006FF866  |.  8F 28        未知指令
006FF864  |.  A2 28        未知指令
006FF862  |.  8F 18        未知指令
006FF860  |.  6E 69F13050  vPushImm4 5030F169
006FF85B  |.  6E 1E9C8BFF  vPushImm4 0FF8B9C1E
006FF856  |.  6E 0E180033  vPushImm4 3300180E
006FF851  |.  0C           vNand4
006FF850  |.  8F 1C        未知指令
006FF84E  |.  5C 2C        未知指令
006FF84C  |.  1F           vAdd4
006FF84B  |.  8F 1C        未知指令
006FF849  |.  22           vReadMemDs4
006FF848  |.  57           vAdd4
006FF847  |.  CF 3C        未知指令
006FF845  |.  6E FDE1B3C2  vPushImm4 0C2B3E1FD
006FF840  |.  6E 8A262416  vPushImm4 1624268A
006FF83B  |.  E3 E259BD88  vPushImm4 88BD59E2
006FF836  |.  B1           vPushVEsp
006FF835  |.  70 08        vPushImmSx1 8
006FF833  |.  0A           vAdd4
006FF832  |.  CF 14        未知指令
006FF830  |.  17           vWriteMemSs4
006FF82F  |.  5B           vShl2
006FF82E  |.  8F 1C        未知指令
006FF82C  |.  1C B5        vPushImm1 0B5
006FF82A  |.  12 1C        vPopReg2 vR7W
006FF828  |.  12 0C        vPopReg2 vR3W
006FF826  |.  0A           vAdd4
006FF825  |.  8F 1C        未知指令
006FF823  |.  5C 18        未知指令
006FF821  |.  5C 18        未知指令
006FF81F  |.  0C           vNand4
006FF81E  |.  CF 3C        未知指令
006FF81C  |.  0D           vNand4
006FF81B  |.  CF 3C        未知指令
006FF819  |.  8F 3C        未知指令
006FF817  |.  5C 08        未知指令
006FF815  |.  6D 3C        未知指令
006FF813  |.  0A           vAdd4
006FF812  |.  CF 38        未知指令
006FF810  |.  CF 18        未知指令
006FF80E  |.  6E ECB3E758  vPushImm4 58E7B3EC
006FF809  |.  E3 FF139EFF  vPushImm4 0FF9E13FF
006FF804  |.  5C 04        未知指令
006FF802  |.  1C 32        vPushImm1 32
006FF800  |.  E3 1D138E00  vPushImm4 8E131D
006FF7FB  |.  B1           vPushVEsp
006FF7FA  |.  FB 06        vPushImmSx1 6
006FF7F8  |.  ED           vAdd4
006FF7F7  |.  CF 14        未知指令
006FF7F5  |.  E5           vWriteMemSs4
006FF7F4  |.  C1           vPushVEsp
006FF7F3  |.  2F           vReadMemSs1
006FF7F2  |.  07 1C        vPopReg1 vR7B
006FF7F0  |.  3B 08        vPopReg2 vR2W
006FF7EE  |.  0C           vNand4
006FF7ED  |.  CF 1C        未知指令
006FF7EB  |.  A2 2C        未知指令
006FF7E9  |.  0A           vAdd4
006FF7E8  |.  8F 14        未知指令
006FF7E6  |.  22           vReadMemDs4
006FF7E5  |.  ED           vAdd4
006FF7E4  |.  8F 1C        未知指令
006FF7E2  |.  5C 24        未知指令
006FF7E0  |.  3A 0C        vPushReg1 vR3B
006FF7DE  |.  6E F9200406  vPushImm4 60420F9
006FF7D9  |.  88           vPushVEsp
006FF7D8  |.  70 06        vPushImmSx1 6
006FF7D6  |.  5C 00        未知指令
006FF7D4  |.  A2 18        未知指令
006FF7D2  |.  5C 18        未知指令
006FF7D0  |.  0C           vNand4
006FF7CF  |.  CF 0C        未知指令
006FF7CD  |.  ED           vAdd4
006FF7CC  |.  8F 1C        未知指令
006FF7CA  |.  F6           vPushVEsp
006FF7C9  |.  19           vReadMemSs4
006FF7C8  |.  0C           vNand4
006FF7C7  |.  8F 0C        未知指令
006FF7C5  |.  8F 38        未知指令
006FF7C3  |.  5C 1C        未知指令
006FF7C1  |.  6D 1C        未知指令
006FF7BF  |.  37           vNand4
006FF7BE  |.  CF 14        未知指令
006FF7BC  |.  6E 974FCF74  vPushImm4 74CF4F97
006FF7B7  |.  6E 6AAD4920  vPushImm4 2049AD6A
006FF7B2  |.  6E C30CE9A4  vPushImm4 0A4E90CC3
006FF7AD  |.  88           vPushVEsp
006FF7AC  |.  66           vReadMemSs1
006FF7AB  |.  E3 AD2616E0  vPushImm4 0E01626AD
006FF7A6  |.  A5 0A        vPushImmSx1 0A
006FF7A4  |.  C1           vPushVEsp
006FF7A3  |.  57           vAdd4
006FF7A2  |.  CF 24        未知指令
006FF7A0  |.  60           vWriteMemSs4
006FF79F  |.  8C 28        vPopReg2 vR10W
006FF79D  |.  1F           vAdd4
006FF79C  |.  8F 28        未知指令
006FF79A  |.  5C 2C        未知指令
006FF798  |.  0A           vAdd4
006FF797  |.  8F 28        未知指令
006FF795  |.  49           vReadMemDs4
006FF794  |.  ED           vAdd4
006FF793  |.  8F 08        未知指令
006FF791  |.  6E 10080000  vPushImm4 810
006FF78C  |.  0C           vNand4
006FF78B  |.  8F 28        未知指令
006FF789  |.  15           vNand4
006FF788  |.  8F 14        未知指令
006FF786  |.  6D 0C        未知指令
006FF784  |.  88           vPushVEsp
006FF783  |.  19           vReadMemSs4
006FF782  |.  37           vNand4
006FF781  |.  CF 38        未知指令
006FF77F  |.  6E 02AD0A61  vPushImm4 610AAD02
006FF77A  |.  6E F4B16B64  vPushImm4 646BB1F4
006FF775  |.  6E FE13089C  vPushImm4 9C0813FE
006FF770  |.  0A           vAdd4
006FF76F  |.  8F 24        未知指令
006FF76D  |.  6D 2C        未知指令
006FF76B  |.  0A           vAdd4
006FF76A  |.  CF 24        未知指令
006FF768  |.  22           vReadMemDs4
006FF767  |.  0A           vAdd4
006FF766  |.  8F 28        未知指令
006FF764  |.  6E 022F1CE5  vPushImm4 0E51C2F02
006FF75F  |.  E3 B3173617  vPushImm4 173617B3
006FF75A  |.  E3 126DDF2B  vPushImm4 2BDF6D12
006FF755  |.  FB 0C        vPushImmSx1 0C
006FF753  |.  B1           vPushVEsp
006FF752  |.  0A           vAdd4
006FF751  |.  CF 38        未知指令
006FF74F  |.  17           vWriteMemSs4
006FF74E  |.  EC           vShr2
006FF74D  |.  8F 08        未知指令
006FF74B  |.  88           vPushVEsp
006FF74A  |.  E2           vReadMemSs2
006FF749  |.  3B 14        vPopReg2 vR5W
006FF747  |.  3B 28        vPopReg2 vR10W
006FF745  |.  1F           vAdd4
006FF744  |.  8F 38        未知指令
006FF742  |.  0C           vNand4
006FF741  |.  8F 08        未知指令
006FF73F  |.  0A           vAdd4
006FF73E  |.  CF 38        未知指令
006FF73C  |.  CF 08        未知指令
006FF73A  |.  0A           vAdd4
006FF739  |.  CF 28        未知指令
006FF737  |.  60           vWriteMemSs4
006FF736  |.  C2 14        vPopReg2 vR5W
006FF734  |.  15           vNand4
006FF733  |.  CF 14        未知指令
006FF731  |.  6E 9E41AD54  vPushImm4 54AD419E
006FF72C  |.  E3 242DC8B7  vPushImm4 0B7C82D24
006FF727  |.  E3 2DD81C71  vPushImm4 711CD82D
006FF722  |.  B1           vPushVEsp
006FF721  |.  52           vReadMemSs2
006FF720  |.  E3 EB9C9648  vPushImm4 48969CEB
006FF71B  |.  88           vPushVEsp
006FF71A  |.  70 06        vPushImmSx1 6
006FF718  |.  0A           vAdd4
006FF717  |.  CF 38        未知指令
006FF715  |.  17           vWriteMemSs4
006FF714  |.  F6           vPushVEsp
006FF713  |.  10           vReadMemSs4
006FF712  |.  FB 05        vPushImmSx1 5
006FF710  |.  C1           vPushVEsp
006FF70F  |.  0A           vAdd4
006FF70E  |.  8F 38        未知指令
006FF70C  |.  E5           vWriteMemSs4
006FF70B  |.  07 14        vPopReg1 vR5B
006FF709  |.  88           vPushVEsp
006FF708  |.  E2           vReadMemSs2
006FF707  |.  12 24        vPopReg2 vR9W
006FF705  |.  1F           vAdd4
006FF704  |.  CF 1C        未知指令
006FF702  |.  6D 2C        未知指令
006FF700  |.  ED           vAdd4
006FF6FF  |.  8F 1C        未知指令
006FF6FD  |.  22           vReadMemDs4
006FF6FC  |.  0A           vAdd4
006FF6FB  |.  8F 28        未知指令
006FF6F9  |.  E3 24E7EDDD  vPushImm4 0DDEDE724
006FF6F4  |.  C1           vPushVEsp
006FF6F3  |.  10           vReadMemSs4
006FF6F2  |.  CF 1C        未知指令
006FF6F0  |.  0A           vAdd4
006FF6EF  |.  CF 28        未知指令
006FF6ED  |.  88           vPushVEsp
006FF6EC  |.  30 D95C      vPushImm2 5CD9
006FF6E9  |.  6E 664D8B30  vPushImm4 308B4D66
006FF6E4  |.  E3 C5DCE73C  vPushImm4 3CE7DCC5
006FF6DF  |.  6E DACAD250  vPushImm4 50D2CADA
006FF6DA  |.  B1           vPushVEsp
006FF6D9  |.  52           vReadMemSs2
006FF6D8  |.  8F 1C        未知指令
006FF6D6  |.  E3 49CEE5CF  vPushImm4 0CFE5CE49
006FF6D1  |.  70 0A        vPushImmSx1 0A
006FF6CF  |.  88           vPushVEsp
006FF6CE  |.  0A           vAdd4
006FF6CD  |.  CF 28        未知指令
006FF6CB  |.  60           vWriteMemSs4
006FF6CA  |.  12 1C        vPopReg2 vR7W
006FF6C8  |.  1F           vAdd4
006FF6C7  |.  CF 14        未知指令
006FF6C5  |.  A2 2C        未知指令
006FF6C3  |.  0A           vAdd4
006FF6C2  |.  8F 1C        未知指令
006FF6C0  |.  D4           vReadMemDs2
006FF6BF  |.  0E           vAdd2
006FF6BE  |.  CF 14        未知指令
006FF6BC  |.  D3 2E        vPushReg2 vR11W
006FF6BA  |.  3D 0D        vPushReg1 vR3B
006FF6B8  |.  18 89EB      vPushImm2 0EB89
006FF6B5  |.  88           vPushVEsp
006FF6B4  |.  70 04        vPushImmSx1 4
006FF6B2  |.  57           vAdd4
006FF6B1  |.  8F 28        未知指令
006FF6AF  |.  A4           vWriteMemSs2
006FF6AE  |.  18 AF02      vPushImm2 2AF
006FF6AB  |.  8F 1C        未知指令
006FF6A9  |.  CA           vNand2
006FF6A8  |.  CF 28        未知指令
006FF6A6  |.  6D 08        未知指令
006FF6A4  |.  6E 90E60C87  vPushImm4 870CE690
006FF69F  |.  6E C8628FFF  vPushImm4 0FF8F62C8
006FF69A  |.  6E 9FD2B5CC  vPushImm4 0CCB5D29F
006FF695  |.  E3 C8C2FBFC  vPushImm4 0FCFBC2C8
006FF690  |.  06           vAdd2
006FF68F  |.  CF 24        未知指令
006FF68D  |.  6E 88000BE6  vPushImm4 0E60B0088
006FF688  |.  88           vPushVEsp
006FF687  |.  70 06        vPushImmSx1 6
006FF685  |.  0A           vAdd4
006FF684  |.  8F 14        未知指令
006FF682  |.  E5           vWriteMemSs4
006FF681  |.  C1           vPushVEsp
006FF680  |.  E8           vReadMemSs1
006FF67F  |.  8F 24        未知指令
006FF67D  |.  0C           vNand4
006FF67C  |.  CF 28        未知指令
006FF67A  |.  5C 2C        未知指令
006FF678  |.  0A           vAdd4
006FF677  |.  CF 14        未知指令
006FF675  |.  A3           vReadMemDs4
006FF674  |.  1F           vAdd4
006FF673  |.  8F 28        未知指令
006FF671  |.  E3 5EA04B49  vPushImm4 494BA05E
006FF66C  |.  ED           vAdd4
006FF66B  |.  CF 24        未知指令
006FF669  |.  0C           vNand4
006FF668  |.  8F 1C        未知指令
006FF666  |.  1A           vShr4
006FF665  |.  8F 24        未知指令
006FF663  |.  1F           vAdd4
006FF662  |.  8F 14        未知指令
006FF660  |.  CE           vReadMemSs4
006FF65F  |.  CF 28        未知指令
006FF65D  |.  CF 1C        未知指令
006FF65B  |.  CF 1C        未知指令
006FF659  |.  5C 28        未知指令
006FF657  |.  B1           vPushVEsp
006FF656  |.  35           vReadMemSs4
006FF655  |.  CF 1C        未知指令
006FF653  |.  5C 1C        未知指令
006FF651  |.  0C           vNand4
006FF650  |.  8F 28        未知指令
006FF64E  |.  6E E08DEB06  vPushImm4 6EB8DE0
006FF649  |.  0C           vNand4
006FF648  |.  CF 14        未知指令
006FF646  |.  6E 1F7214F9  vPushImm4 0F914721F
006FF641  |.  5C 1C        未知指令
006FF63F  |.  0C           vNand4
006FF63E  |.  CF 38        未知指令
006FF63C  |.  0C           vNand4
006FF63B  |.  8F 38        未知指令
006FF639  |.  8F 14        未知指令
006FF637  |.  6D 34        未知指令
006FF635  |.  5C 10        未知指令
006FF633  |.  6D 18        未知指令
006FF631  |.  6D 00        未知指令
006FF62F  |.  6D 08        未知指令
006FF62D  |.  6D 3C        未知指令
006FF62B  |.  6D 04        未知指令
006FF629  |.  6D 20        未知指令
006FF627  |.  5C 00        未知指令
006FF625  |.  A2 30        未知指令
006FF623  |.  5C 34        未知指令
006FF621  |.  5C 10        未知指令
006FF61F  |.  6E A525B35C  vPushImm4 5CB325A5
006FF61A  |.  0A           vAdd4
006FF619  |.  8F 0C        未知指令
006FF617  |.  A2 2C        未知指令
006FF615  |.  5C 14        未知指令
006FF613  \.- DB           vJmp_0060F110        ; 转移类型未知,0个目标:
2011-12-21 09:46
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
109
添加指令之后是这样的:

记录数据
地址       消息
00403B59   分析文件lsfz.exe中的虚拟机,从地址403B59开始...
             分析虚拟机...
               分析指令表地址和解密算法...
0060F110       指令表地址:60F110
               开始分析虚拟机指令表...
                 找到64个指令处理程序
                 开始查找解码循环开始地址和堆栈检查程序地址...
0060E416         解码循环开始地址:60E416
0060BDB0         堆栈检查程序地址:60BDB0
                 开始查找执行虚拟指令...
                 执行虚拟指令:60DC8E
                 开始分析指令处理程序...
0040DC39           分析指令处理程序40DC39(指令0、2、81、A1、B6、D6、FC)...
0040DC39           识别成功:vMul4
0060B610           分析指令处理程序60B610(指令1、2E、44、61、BD)...
0060B610           识别成功:vIdiv4
0060B056           分析指令处理程序60B056(指令3、4A、5F、80、84、93、D1)...
0060B056           识别处理程序失败,请添加虚拟指令
0060DD2D           分析指令处理程序60DD2D(指令4、4C、5B、92)...
0060DD2D           识别成功:vShl2
0060C5F1           分析指令处理程序60C5F1(指令5、75、F1)...
0060C5F1           识别成功:vShld
0060B7B1           分析指令处理程序60B7B1(指令6、E、34、5E、BF、CC)...
0060B7B1           识别成功:vAdd2
0060C3C6           分析指令处理程序60C3C6(指令7、26、48、4B、5A、79、E1)...
0060C3C6           识别成功:vPopReg1
0060C325           分析指令处理程序60C325(指令8、1E、D4、F4)...
0060C325           识别成功:vReadMemDs2
0060DF45           分析指令处理程序60DF45(指令9、29、3C、86、B9、DE)...
0060DF45           识别成功:vCall
0060C1BB           分析指令处理程序60C1BB(指令A、1F、57、ED)...
0060C1BB           识别成功:vAdd4
0060C67C           分析指令处理程序60C67C(指令B、45、53、72、78、7B、AA、CD、E0)...
0060C67C           识别成功:vFld8
0060DB9E           分析指令处理程序60DB9E(指令C、D、15、37)...
0060DB9E           识别成功:vNand4
0060BFC3           分析指令处理程序60BFC3(指令F、C9、D2、E4、F8)...
0060BFC3           识别成功:vPopfd
0060E3A0           分析指令处理程序60E3A0(指令10、19、35、83、C6、CE)...
0060E3A0           识别成功:vReadMemSs4
0060B973           分析指令处理程序60B973(指令11、42、A7、F0)...
0060B973           识别成功:vShl4
0060E005           分析指令处理程序60E005(指令12、3B、8C、C2、DF)...
0060E005           识别成功:vPopReg2
0060D968           分析指令处理程序60D968(指令13、7A)...
0060D968           识别成功:vPushVSp
0060DFC6           分析指令处理程序60DFC6(指令14、51、62、F5、FA)...
0060DFC6           识别成功:vRdtsc
0060CFC3           分析指令处理程序60CFC3(指令16、27、46)...
0060CFC3           识别成功:vDiv2
0060C252           分析指令处理程序60C252(指令17、60、74、AF、E5)...
0060C252           识别成功:vWriteMemSs4
0060BF0C           分析指令处理程序60BF0C(指令18、30、C0、DA)...
0060BF0C           识别成功:vPushImm2
0060DCB5           分析指令处理程序60DCB5(指令1A、59、89、9F)...
0060DCB5           识别成功:vShr4
0060D1A0           分析指令处理程序60D1A0(指令1B、32、AE、D0)...
0060D1A0           识别成功:vRet
0060D26A           分析指令处理程序60D26A(指令1C、4F、73、CB、F7)...
0060D26A           识别成功:vPushImm1
0060E390           分析指令处理程序60E390(指令1D、23、39、4D、85、87、AC、AD、BB、DD)...
0060E390           识别成功:vAdd1
0060DE92           分析指令处理程序60DE92(指令20、7C、8D、F2、FE)...
0060DE92           识别成功:vPushSs
0040DB1D           分析指令处理程序40DB1D(指令21、25、7F、B5、B8)...
0040DB1D           识别成功:vShr1
0060D0A1           分析指令处理程序60D0A1(指令22、49、A3)...
0060D0A1           识别成功:vReadMemDs4
0060D91E           分析指令处理程序60D91E(指令24、AB)...
0060D91E           识别成功:vDiv4
0060B1C2           分析指令处理程序60B1C2(指令28)...
0060B1C2           识别成功:vWriteMemSs1
0060D0AC           分析指令处理程序60D0AC(指令2A、3E、41、98)...
0060D0AC           识别成功:vCpuid
0040DBE9           分析指令处理程序40DBE9(指令2B、6A、FD)...
0040DBE9           识别成功:vShrd
0060B8CA           分析指令处理程序60B8CA(指令2C、67、69、7E、A9)...
0060B8CA           识别成功:vNand1
0060DE75           分析指令处理程序60DE75(指令2D、C4、CA、D9)...
0060DE75           识别成功:vNand2
0060E4EA           分析指令处理程序60E4EA(指令2F、66、E8)...
0060E4EA           识别成功:vReadMemSs1
00403D7F           分析指令处理程序403D7F(指令31、71)...
00403D7F           识别成功:vImul2
0060B896           分析指令处理程序60B896(指令33、B4、D8、EF)...
0060B896           识别成功:vWriteMemDs1
0040DADE           分析指令处理程序40DADE(指令36、A8)...
0040DADE           识别成功:vImul4
0060D3A9           分析指令处理程序60D3A9(指令38、DB)...
0060D3A9           识别成功:vJmp
0040DE61           分析指令处理程序40DE61(指令3A、3D、63、82、BE、DC)...
0040DE61           识别成功:vPushReg1
0040DC04           分析指令处理程序40DC04(指令3F、7D)...
0040DC04           识别成功:vWriteMemEs4
0060D65F           分析指令处理程序60D65F(指令40、C3、EB)...
0060D65F           识别成功:vWriteMemDs4
0060B630           分析指令处理程序60B630(指令43、56、6F、91、99、B3、E7、EE)...
0060B630           识别成功:vMul2
0040DA2F           分析指令处理程序40DA2F(指令47、76、A4、C8)...
0040DA2F           识别成功:vWriteMemSs2
0060D4E5           分析指令处理程序60D4E5(指令4E、6B、94、9A、D7)...
0060D4E5           识别成功:vReadMemDs1
0060DACF           分析指令处理程序60DACF(指令50、96、D5)...
0060DACF           识别成功:vWriteMemFs4
0060B01B           分析指令处理程序60B01B(指令52、E2)...
0060B01B           识别成功:vReadMemSs2
0040D9D1           分析指令处理程序40D9D1(指令54、5D、A0)...
0040D9D1           识别成功:vCheck
0040DE86           分析指令处理程序40DE86(指令55、B7)...
0040DE86           识别成功:vPushImmSx2
00403DF4           分析指令处理程序403DF4(指令58、68、8A、C7、EA)...
00403DF4           识别成功:vPopVSp
0060C226           分析指令处理程序60C226(指令5C、6D、A2)...
0060C226           识别处理程序失败,请添加虚拟指令
0060B8F5           分析指令处理程序60B8F5(指令64、9C、BA、BC、F9)...
0060B8F5           识别成功:vWriteMemDs2
0060C111           分析指令处理程序60C111(指令65、6C、EC)...
0060C111           识别成功:vShr2
00403BC2           分析指令处理程序403BC2(指令6E、E3)...
00403BC2           识别成功:vPushImm4
0060B1F8           分析指令处理程序60B1F8(指令70、A5、FB)...
0060B1F8           识别成功:vPushImmSx1
0060DB20           分析指令处理程序60DB20(指令77、8B)...
0060DB20           识别成功:vReadMemFs4
0060BD50           分析指令处理程序60BD50(指令88、B1、C1、F6)...
0060BD50           识别成功:vPushVEsp
0060CC95           分析指令处理程序60CC95(指令8E、9B、B0、B2)...
0060CC95           识别成功:vFstp8
0060E35C           分析指令处理程序60E35C(指令8F、CF)...
0060E35C           识别成功:vPopvReg4My
0060D034           分析指令处理程序60D034(指令90、9D、9E、A6)...
0060D034           识别成功:vPopVEsp
0060B370           分析指令处理程序60B370(指令95、E6)...
0060B370           识别成功:vFmul4
0060C5A1           分析指令处理程序60C5A1(指令97、C5、FF)...
0060C5A1           识别成功:vShl1
0060C565           分析指令处理程序60C565(指令D3)...
0060C565           识别成功:vPushReg2
00403DEC           分析指令处理程序403DEC(指令E9、F3)...
00403DEC           识别成功:vJmp
                 分析指令处理程序完成
               分析指令表完成
               提取解码循环相关指令...
               提取解码循环相关指令完成
             分析虚拟机完成
00403B59   分析文件lsfz.exe中的虚拟机完成,找到1个虚拟机,用时0.81秒

0040DC41  /MOV     EDX, DWORD PTR SS:[EBP]           ; vMul4
0040DC4C  |MOV     EAX, DWORD PTR SS:[EBP+4]
0040DC50  |SUB     EBP, 4
0040DE98  |MUL     EDX
0060B707  |MOV     DWORD PTR SS:[EBP+4], EDX
0060CA3D  |MOV     DWORD PTR SS:[EBP+8], EAX
0060CA47  |PUSHFD
0060C9E0  \POP     DWORD PTR SS:[EBP]
0060B611  /MOV     EDX, DWORD PTR SS:[EBP]           ; vIdiv4
0060B3D3  |MOV     EAX, DWORD PTR SS:[EBP+4]
0060B3E2  |IDIV    DWORD PTR SS:[EBP+8]
0060CE1E  |MOV     DWORD PTR SS:[EBP+4], EDX
0060CE26  |MOV     DWORD PTR SS:[EBP+8], EAX
0040D904  |PUSHFD
0060B66B  \POP     DWORD PTR SS:[EBP]
0060B057  /MOV     EDX, DWORD PTR SS:[EBP]           ; 未知指令
0060B05B  |ADD     EBP, 4
00403DE5  |PUSH    EDX
00403DE9  \RETN 0FFFFFFFC
0060DD32  /MOV     AX, WORD PTR SS:[EBP]             ; vShl2
0060DD39  |MOV     CL, BYTE PTR SS:[EBP+2]
0060B811  |SUB     EBP, 2
0060B81C  |SHL     AX, CL
0060B836  |MOV     WORD PTR SS:[EBP+4], AX
0060B83B  |PUSHFD
0060C539  \POP     DWORD PTR SS:[EBP]
0060C5F7  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShld
0060C5FD  |MOV     EDX, DWORD PTR SS:[EBP+4]
0060C603  |MOV     CL, BYTE PTR SS:[EBP+8]
0060C608  |ADD     EBP, 2
0060DF01  |SHLD    EAX, EDX, CL
0060CA21  |MOV     DWORD PTR SS:[EBP+4], EAX
0060BAEC  |PUSHFD
0060BF6A  \POP     DWORD PTR SS:[EBP]
0060B7B5  /MOV     AX, WORD PTR SS:[EBP]             ; vAdd2
0060B7BE  |SUB     EBP, 2
0060D685  |ADD     WORD PTR SS:[EBP+4], AX
0060DEDA  |PUSHFD
0060DEE8  \POP     DWORD PTR SS:[EBP]
0060C3CD  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPopReg1
0060C3D5  |ADD     AL, BL
0060C3DE  |ROL     AL, 3
0060C3EA  |SUB     AL, 3C
0060C3F2  |XOR     AL, 0FA
0060C3FF  |ADD     BL, AL
0060C40C  |MOV     DX, WORD PTR SS:[EBP]
0060B5BF  |ADD     EBP, 2
0060B5C5  |ADD     ESI, -1
0060BF2C  \MOV     BYTE PTR DS:[EAX+EDI], DL
0060C32A  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemDs2
0060C331  |ADD     EBP, 2
0060DFED  |MOV     AX, WORD PTR DS:[EAX]
0060BB7C  \MOV     WORD PTR SS:[EBP], AX
0060DF47  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vCall
0060DF4E  |SUB     AL, BL
0060DF57  |DEC     AL
0060DF5C  |ROL     AL, 7
0060DF64  |SUB     AL, 14
0060DF70  |LEA     ESI, DWORD PTR DS:[ESI-1]
0060DF76  |SUB     BL, AL
0060DF82  |MOVZX   ECX, AL
0060DF8A  |MOV     DWORD PTR SS:[EBP-4], ECX
0060DF94  |OR      ECX, ECX
0060E20C  |SUB     EAX, EAX
0060E216  |XCHG    DWORD PTR SS:[EBP+ECX*4], EAX
0060D58D  |SUB     EAX, EAX
0060D59A  |XCHG    DWORD PTR SS:[EBP], EAX
0060B04F  |PUSH    EAX
0060B053  \RETN 0FFFFFFF8
0060C1BC  /MOV     EAX, DWORD PTR SS:[EBP]           ; vAdd4
0060DC37  |ADD     DWORD PTR SS:[EBP+4], EAX
0060B1A7  |PUSHFD
0060B1B4  \POP     DWORD PTR SS:[EBP]
0060C67D  [FLD     QWORD PTR SS:[EBP]                ; vFld8
0060DBA1  /MOV     EAX, DWORD PTR SS:[EBP]           ; vNand4
0060DBAA  |MOV     EDX, DWORD PTR SS:[EBP+4]
0060B1D5  |NOT     EAX
0060B1E0  |NOT     EDX
0060B1E3  |AND     EAX, EDX
0060DE34  |MOV     DWORD PTR SS:[EBP+4], EAX
0060DE3A  |PUSHFD
0060C3B3  \POP     DWORD PTR SS:[EBP]
0060BFCA  /PUSH    DWORD PTR SS:[EBP]                ; vPopfd
0060BFCD  |POP     DWORD PTR SS:[ESP]
0040DF1A  |ADD     EBP, 4
0040DF1E  \POPFD
0060E3A8  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemSs4
0060E3B6  |MOV     EAX, DWORD PTR SS:[EAX]
0060D08B  \MOV     DWORD PTR SS:[EBP], EAX
0060B97F  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShl4
0060B984  |MOV     CL, BYTE PTR SS:[EBP+4]
0060B992  |SUB     EBP, 2
0060BC21  |SHL     EAX, CL
0060B6B1  |MOV     DWORD PTR SS:[EBP+4], EAX
0060E077  |PUSHFD
0040D9AC  \POP     DWORD PTR SS:[EBP]
0060E00D  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; vPopReg2
0060E017  |XOR     AL, BL
0060E021  |DEC     AL
0060E028  |LEA     ESI, DWORD PTR DS:[ESI-1]
0060E02F  |NOT     AL
0060E038  |DEC     AL
0060E041  |XOR     BL, AL
0060E050  |MOV     DX, WORD PTR SS:[EBP]
0060E059  |ADD     EBP, 2
0060B398  \MOV     WORD PTR DS:[EAX+EDI], DX
0060B5B7  /MOV     EAX, EBP                          ; vPushVSp
0040D9A0  |SUB     EBP, 2
0060D392  \MOV     WORD PTR SS:[EBP], AX
0060DFD1  /RDTSC                                     ; vRdtsc
0060DC9B  |SUB     EBP, 8
0060DCA1  |MOV     DWORD PTR SS:[EBP], EDX
0060CEB5  \MOV     DWORD PTR SS:[EBP+4], EAX
0060CFC5  /MOV     DX, WORD PTR SS:[EBP]             ; vDiv2
0060CFCB  |MOV     AX, WORD PTR SS:[EBP+2]
0060CFD2  |MOV     CX, WORD PTR SS:[EBP+4]
0060D544  |SUB     EBP, 2
0060D54B  |DIV     CX
0060D553  |MOV     WORD PTR SS:[EBP+4], DX
0060D505  |MOV     WORD PTR SS:[EBP+6], AX
0060D518  |PUSHFD
0060D52E  \POP     DWORD PTR SS:[EBP]
0060C259  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemSs4
0060C264  |MOV     EDX, DWORD PTR SS:[EBP+4]
00403C93  |ADD     EBP, 8
00403C9E  \MOV     DWORD PTR SS:[EAX], EDX
0060BF13  /MOV     AX, WORD PTR DS:[ESI-2]           ; vPushImm2
0060BF1B  |XCHG    AL, AH
0060BE4C  |SUB     AX, BX
0040DEA3  |NOT     AX
00403E81  |NEG     AX
0040D848  |ROR     AX, 6
00403C66  |SUB     BX, AX
00403C83  |SUB     EBP, 2
00403B63  |MOV     WORD PTR SS:[EBP], AX
0060DDB1  \LEA     ESI, DWORD PTR DS:[ESI-2]
0060DCBA  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShr4
0060DCBE  |MOV     CL, BYTE PTR SS:[EBP+4]
0060DCC2  |SUB     EBP, 2
0060DCC6  |SHR     EAX, CL
0060DCC9  |MOV     DWORD PTR SS:[EBP+4], EAX
0060DCD7  |PUSHFD
0060DCE1  \POP     DWORD PTR SS:[EBP]
0060D1A8  /MOV     ESP, EBP                          ; vRet
0060D1AA  |ADD     ESP, -4
0060D1B9  |ADD     ESP, -4
0060D1C2  |MOV     EDX, DWORD PTR SS:[ESP+10]
0060D1D2  |MOV     ESI, DWORD PTR SS:[ESP+14]
0060D1E1  |MOV     EDI, DWORD PTR SS:[ESP+18]
0060D1E9  |MOV     EBP, DWORD PTR SS:[ESP+1C]
0060D1FA  |MOV     ECX, DWORD PTR SS:[ESP+20]
0060D215  |PUSH    DWORD PTR SS:[ESP+28]
0060D219  |POPFD
0060BCD3  |MOV     EAX, DWORD PTR SS:[ESP+2C]
0060BCD7  |ADD     ESP, -4
0060BCDA  |MOV     EBX, DWORD PTR SS:[ESP+34]
0060BCE3  |ADD     ESP, -4
0060BCE7  |PUSH    DWORD PTR SS:[ESP+3C]
0060BCEB  \RETN    40
0060D271  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; vPushImm1
0060D276  |SUB     AL, BL
0060D466  |DEC     AL
0060D46B  |ROL     AL, 7
0060D476  |DEC     ESI
0060D483  |SUB     AL, 14
0060D487  |SUB     BL, AL
0060D490  |SUB     EBP, 2
0060D3D3  \MOV     WORD PTR SS:[EBP], AX
0060B76D  /MOV     AL, BYTE PTR SS:[EBP]             ; vAdd1
0060DE11  |SUB     EBP, 2
0060DE15  |ADD     BYTE PTR SS:[EBP+4], AL
0060D382  |PUSHFD
0060B8B4  \POP     DWORD PTR SS:[EBP]
0060DE95  /MOV     AX, SS                            ; vPushSs
0060C81A  |SUB     EBP, 2
0060C823  \MOV     WORD PTR SS:[EBP], AX
0040DB1E  /MOV     AL, BYTE PTR SS:[EBP]             ; vShr1
0040DB23  |MOV     CL, BYTE PTR SS:[EBP+2]
0040DB30  |SUB     EBP, 2
0040DB34  |SHR     AL, CL
00403DAF  |MOV     WORD PTR SS:[EBP+4], AX
0060D7BD  |PUSHFD
0060D7C7  \POP     DWORD PTR SS:[EBP]
0060D0A3  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemDs4
0060C451  |MOV     EAX, DWORD PTR DS:[EAX]
0060B3AA  \MOV     DWORD PTR SS:[EBP], EAX
0060D923  /MOV     EDX, DWORD PTR SS:[EBP]           ; vDiv4
0060D92F  |MOV     EAX, DWORD PTR SS:[EBP+4]
0060D563  |DIV     DWORD PTR SS:[EBP+8]
0060DE89  |MOV     DWORD PTR SS:[EBP+4], EDX
0040DA8E  |MOV     DWORD PTR SS:[EBP+8], EAX
0060BA0B  |PUSHFD
0060B4FA  \POP     DWORD PTR SS:[EBP]
0060B1C6  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemSs1
0060B1CD  |MOV     DL, BYTE PTR SS:[EBP+4]
0060B1EB  |ADD     EBP, 6
0060E1E5  \MOV     BYTE PTR SS:[EAX], DL
00403D11  /MOV     DWORD PTR SS:[ESP], EBX           ; vCpuid
0060C690  |MOV     EAX, DWORD PTR SS:[EBP]
0060C698  |CPUID
0060C69B  |SUB     EBP, 0C
0060C6DC  |MOV     DWORD PTR SS:[EBP+C], EAX
0060C247  |MOV     DWORD PTR SS:[EBP+8], EBX
0060B576  |MOV     DWORD PTR SS:[EBP+4], ECX
0060B57C  |MOV     DWORD PTR SS:[EBP], EDX
00403B79  |XOR     BYTE PTR SS:[EBP+C], 20
00403B8A  \MOV     EBX, DWORD PTR SS:[ESP+4]
0040DBEF  /MOV     EAX, DWORD PTR SS:[EBP]           ; vShrd
0040DBF6  |MOV     EDX, DWORD PTR SS:[EBP+4]
0040DBFC  |MOV     CL, BYTE PTR SS:[EBP+8]
0060D96D  |ADD     EBP, 2
0060B94C  |SHRD    EAX, EDX, CL
0060B951  |MOV     DWORD PTR SS:[EBP+4], EAX
0060C1E8  |PUSHFD
0060DBBF  \POP     DWORD PTR SS:[EBP]
0060B8D3  /MOV     AX, WORD PTR SS:[EBP]             ; vNand1
0060C7AC  |MOV     DX, WORD PTR SS:[EBP+2]
0040D98E  |NOT     AL
0040D996  |NOT     DL
0060B15E  |SUB     EBP, 2
0060B16D  |AND     AL, DL
0060BC14  |MOV     WORD PTR SS:[EBP+4], AX
0060E488  |PUSHFD
0060DDF7  \POP     DWORD PTR SS:[EBP]
0060DE79  /NOT     DWORD PTR SS:[EBP]                ; vNand2
0060DE80  |MOV     AX, WORD PTR SS:[EBP]
0060D49A  |SUB     EBP, 2
0060D4A0  |AND     WORD PTR SS:[EBP+4], AX
0060D4A5  |PUSHFD
0060D4AF  \POP     DWORD PTR SS:[EBP]
0060E4F5  /MOV     EDX, DWORD PTR SS:[EBP]           ; vReadMemSs1
0060E4FD  |ADD     EBP, 2
00403E2A  |MOV     AL, BYTE PTR SS:[EDX]
00403E34  \MOV     WORD PTR SS:[EBP], AX
00403D82  /MOV     DX, WORD PTR SS:[EBP]             ; vImul2
00403D89  |MOV     AX, WORD PTR SS:[EBP+2]
0060E291  |SUB     EBP, 4
0040D95B  |IMUL    DX
0040D966  |MOV     WORD PTR SS:[EBP+4], DX
0060C7BD  |MOV     WORD PTR SS:[EBP+6], AX
0060B690  |PUSHFD
0060B69F  \POP     DWORD PTR SS:[EBP]
0060B89B  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemDs1
0060B8A5  |MOV     DL, BYTE PTR SS:[EBP+4]
0060DA5E  |ADD     EBP, 6
0060B27A  \MOV     BYTE PTR DS:[EAX], DL
0040DAE2  /MOV     EDX, DWORD PTR SS:[EBP]           ; vImul4
0040DAEC  |MOV     EAX, DWORD PTR SS:[EBP+4]
0040DAF5  |SUB     EBP, 4
0040DAF9  |IMUL    EDX
0060C1A1  |MOV     DWORD PTR SS:[EBP+4], EDX
0060C8C4  |MOV     DWORD PTR SS:[EBP+8], EAX
0060DB38  |PUSHFD
0060D049  \POP     DWORD PTR SS:[EBP]
0060D3B2  /MOV     ESI, DWORD PTR SS:[EBP]           ; vJmp
0060C26D  |ADD     EBP, 4
0060E402  |MOV     EBX, ESI
0060E413  |ADD     ESI, DWORD PTR SS:[EBP]
0060E41D  |MOV     AL, BYTE PTR DS:[ESI-1]           ; Load pcode
0060E42C  |XOR     AL, BL                            ; 解密操作码; 虚拟机:0060F110
0060E433  |DEC     ESI                               ; direction - 1
0060E439  |SUB     AL, 13                            ; 解密操作码; 虚拟机:0060F110
0060E443  |NEG     AL                                ; 解密操作码; 虚拟机:0060F110
0060E457  |ROL     AL, 7                             ; 解密操作码; 虚拟机:0060F110
0060E462  |XOR     BL, AL                            ; decode pcode
0060E465  |MOVZX   EAX, AL                           ; decode pcode
0060E470  |MOV     ECX, DWORD PTR DS:[EAX*4+60F110]  ; 读取指令处理程序(解密前); 虚拟机:0060F110
0060E47A  |NEG     ECX                               ; 解密指令处理程序; 虚拟机:0060F110
0060E47D  |ADD     ECX, 0                            ; 解密指令处理程序; 虚拟机:0060F110
0060DC8A  |PUSH    ECX
0060DC8E  \RETN    0                                 ; 执行虚拟指令; 虚拟机:0060F110
0040DE66  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPushReg1
0060C642  |ADD     AL, BL
0060C65A  |ROL     AL, 3
0060C6AA  |SUB     AL, 3C
00403E5E  |XOR     AL, 0FA
00403E65  |ADD     BL, AL
00403E6B  |MOV     AL, BYTE PTR DS:[EAX+EDI]
00403E75  |SUB     EBP, 2
0060DE29  |MOV     WORD PTR SS:[EBP], AX
0060CA2A  \ADD     ESI, -1
0040DC0C  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemEs4
0040DC19  |MOV     EDX, DWORD PTR SS:[EBP+4]
0040DC1F  |ADD     EBP, 8
0040DC2A  \MOV     DWORD PTR ES:[EAX], EDX
0060D661  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemDs4
0060D668  |MOV     EDX, DWORD PTR SS:[EBP+4]
0040DA58  |ADD     EBP, 8
0040DEAE  \MOV     DWORD PTR DS:[EAX], EDX
0060B639  /MOV     DX, WORD PTR SS:[EBP]             ; vMul2
0060B643  |MOV     AX, WORD PTR SS:[EBP+2]
0060B649  |SUB     EBP, 4
0060C50A  |MUL     DX
00403D54  |MOV     WORD PTR SS:[EBP+4], DX
00403D60  |MOV     WORD PTR SS:[EBP+6], AX
0060BBEF  |PUSHFD
0060C7DE  \POP     DWORD PTR SS:[EBP]
0040DA3B  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemSs2
0040DA47  |MOV     DX, WORD PTR SS:[EBP+4]
00403DA7  |ADD     EBP, 6
0060E234  \MOV     WORD PTR SS:[EAX], DX
0060D4EE  /MOV     EDX, DWORD PTR SS:[EBP]           ; vReadMemDs1
0060D4F7  |ADD     EBP, 2
0060BCF0  |MOV     AL, BYTE PTR DS:[EDX]
0060BCF7  \MOV     WORD PTR SS:[EBP], AX
0060DAD3  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemFs4
0060DAD8  |MOV     EDX, DWORD PTR SS:[EBP+4]
0060C5DB  |ADD     EBP, 8
0060C5E4  \MOV     DWORD PTR FS:[EAX], EDX
0060B01C  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemSs2
0060B020  |ADD     EBP, 2
0060C463  |MOV     AX, WORD PTR SS:[EAX]
0060C471  \MOV     WORD PTR SS:[EBP], AX
0040D9DA  /MOV     EDX, DWORD PTR SS:[EBP]           ; vCheck
0040D9E3  |ADD     EBP, 4
0040D9EE  |XOR     EAX, EAX
0040DA02  |MOV     ECX, EAX
0040DA0D  |SHL     EAX, 7
0040DA17  |SHR     ECX, 19
0040DA1F  |OR      EAX, ECX
0060C288  |XOR     AL, BYTE PTR DS:[EDX]
0060CD8F  |DEC     DWORD PTR SS:[EBP]
0060CDAA  \MOV     DWORD PTR SS:[EBP], EAX
0040DE88  /MOV     AX, WORD PTR DS:[ESI-2]           ; vPushImmSx2
0040DE8F  |XCHG    AL, AH
0060D4C7  |SUB     AX, BX
0060C1AB  |NOT     AX
0040D7FC  |NEG     AX
0040D803  |ROR     AX, 6
0040D808  |SUB     BX, AX
0040D812  |CWDE
0040D816  |ADD     ESI, -2
0040D827  |SUB     EBP, 4
0060DC20  \MOV     DWORD PTR SS:[EBP], EAX
00403DF8  [MOV     BP, WORD PTR SS:[EBP]             ; vPopVSp
0060C230  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; 未知指令
0060C23C  |XOR     AL, BL
0060D8A9  |SUB     AL, 96
0060D8B9  |DEC     ESI
0060B6C0  |XOR     AL, 0D9
0060B6D2  |INC     AL
0060B6E0  |XOR     BL, AL
0060B6E7  |MOV     EDX, DWORD PTR DS:[EAX+EDI]
0060B6FB  |SUB     EBP, 4
0060DF23  \MOV     DWORD PTR SS:[EBP], EDX
0060B8FD  /MOV     EAX, DWORD PTR SS:[EBP]           ; vWriteMemDs2
0060B90B  |MOV     DX, WORD PTR SS:[EBP+4]
0060B91C  |ADD     EBP, 6
0060B923  \MOV     WORD PTR DS:[EAX], DX
0060C119  /MOV     AX, WORD PTR SS:[EBP]             ; vShr2
0060C124  |MOV     CL, BYTE PTR SS:[EBP+2]
0060B875  |SUB     EBP, 2
0060B93E  |SHR     AX, CL
0060B943  |MOV     WORD PTR SS:[EBP+4], AX
0060BBFB  |PUSHFD
0060BC05  \POP     DWORD PTR SS:[EBP]
00403BCA  /MOV     EAX, DWORD PTR DS:[ESI-4]         ; vPushImm4
0060DD43  |BSWAP   EAX
0060DD4F  |SUB     EAX, EBX
0060D0CC  |NOT     EAX
0060B522  |BSWAP   EAX
0060B55F  |INC     EAX
0060B565  |SUB     EBX, EAX
0060C667  |SUB     ESI, 4
0060C80B  |SUB     EBP, 4
0060D744  \MOV     DWORD PTR SS:[EBP], EAX
0060D715  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPushImmSx1
0060D71C  |SUB     AL, BL
0060D72B  |DEC     AL
0060D7FE  |ROL     AL, 7
0060D80B  |SUB     AL, 14
0060D810  |SUB     BL, AL
0060D817  |CBW
0060D81A  |DEC     ESI
0060D81E  |CWDE
00403D23  |SUB     EBP, 4
0060D948  \MOV     DWORD PTR SS:[EBP], EAX
0060DB2F  /MOV     EAX, DWORD PTR SS:[EBP]           ; vReadMemFs4
0060B17F  |MOV     EAX, DWORD PTR FS:[EAX]
0060B195  \MOV     DWORD PTR SS:[EBP], EAX
0060BD57  /MOV     EAX, EBP                          ; vPushVEsp
0060BD5A  |SUB     EBP, 4
0060BD6C  \MOV     DWORD PTR SS:[EBP], EAX
0060D733  [FSTP    QWORD PTR SS:[EBP]                ; vFstp8

0060E365  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPopvReg4My
0060E373  |SUB     ESI, 1
0060E379  |XOR     AL, BL
0060E385  |SUB     AL, 96
0060E389  |XOR     AL, 0D9
0060C6B1  |INC     AL
0060C6B8  |XOR     BL, AL
0060C6C1  |MOV     EDX, DWORD PTR SS:[EBP]
0060D574  |ADD     EBP, 4
0060D578  \MOV     DWORD PTR DS:[EAX+EDI], EDX

0060B883  [MOV     EBP, DWORD PTR SS:[EBP]           ; vPopVEsp
0060B372  [FMUL    DWORD PTR SS:[EBP]                ; vFmul4
0060C5A8  /MOV     AL, BYTE PTR SS:[EBP]             ; vShl1
0060C1D0  |MOV     CL, BYTE PTR SS:[EBP+2]
0060C1D4  |SUB     EBP, 2
0060D416  |SHL     AL, CL
0060DFBD  |MOV     WORD PTR SS:[EBP+4], AX
0060B681  |PUSHFD
0060D674  \POP     DWORD PTR SS:[EBP]
0060C568  /MOV     AL, BYTE PTR DS:[ESI-1]           ; vPushReg2
0060B781  |XOR     AL, BL
0060B794  |DEC     AL
0060B798  |NOT     AL
0060B7A5  |DEC     AL
0060B7A9  |XOR     BL, AL
00403B9E  |MOV     AX, WORD PTR DS:[EAX+EDI]
00403BA3  |SUB     EBP, 2
0040D83E  |MOV     WORD PTR SS:[EBP], AX
0060DFDB  \DEC     ESI
0060B3F4  /MOV     ESI, DWORD PTR SS:[EBP]           ; vJmp
0060B3FA  |ADD     EBP, 4
0060E402  |MOV     EBX, ESI
0060E413  |ADD     ESI, DWORD PTR SS:[EBP]
0060E41D  |MOV     AL, BYTE PTR DS:[ESI-1]           ; Load pcode
0060E42C  |XOR     AL, BL                            ; 解密操作码; 虚拟机:0060F110
0060E433  |DEC     ESI                               ; direction - 1
0060E439  |SUB     AL, 13                            ; 解密操作码; 虚拟机:0060F110
0060E443  |NEG     AL                                ; 解密操作码; 虚拟机:0060F110
0060E457  |ROL     AL, 7                             ; 解密操作码; 虚拟机:0060F110
0060E462  |XOR     BL, AL                            ; decode pcode
0060E465  |MOVZX   EAX, AL                           ; decode pcode
0060E470  |MOV     ECX, DWORD PTR DS:[EAX*4+60F110]  ; 读取指令处理程序(解密前); 虚拟机:0060F110
0060E47A  |NEG     ECX                               ; 解密指令处理程序; 虚拟机:0060F110
0060E47D  |ADD     ECX, 0                            ; 解密指令处理程序; 虚拟机:0060F110
0060DC8A  |PUSH    ECX
0060DC8E  \RETN    0                                 ; 执行虚拟指令; 虚拟机:0060F110

00700152  /$  8F       vPopvReg4My vR8
00700151  |.  C5       vShl1
00700150  |.  9A       vReadMemDs1
0070014F  |.  4D       vAdd1
0070014E  |.  4C       vShl2
0070014D  |.  FE       vPushSs
0070014C  |.  9D       vPopVEsp
0070014B  |.  BB       vAdd1
0070014A  |.  86 20    vCall 20                     ; CALL ???
00700148  |.  0C       vNand4
00700147  |.  F9       vWriteMemDs2
00700146  |.  21       vShr1
00700145  |.  6A       vShrd
00700144  |.  5B       vShl2
00700143  |.  19       vReadMemSs4
00700142  |.  91       vMul2
00700141  |.  DC 80    vPushReg1 无效寄存器索引:32
0070013F  |.  31       vImul2
0070013E  |.  A5 8A    vPushImmSx1 8A
0070013C  |.  95       vFmul4
0070013B  |.  B6       vMul4
0070013A  |.  81       vMul4
00700139  |.  AC       vAdd1
00700138  |.  9E       vPopVEsp
00700137  |.  3C 65    vCall 65                     ; CALL ???
00700135  |.  2E       vIdiv4
00700134  |.  01       vIdiv4
00700133  |.  12 CA    vPopReg2 无效寄存器索引:50
00700131  |.  A9       vNand1
00700130  |.  93       未知指令
0070012F  |.  2C       vNand1
0070012E  |.  CD       vFld8
0070012D  |.  9C       vWriteMemDs2
0070012C  |.  4D       vAdd1
0070012B  |.  54       vCheck
0070012A  |.  E8       vReadMemSs1
00700129  |.  C4       vNand2
00700128  |.  55 DF19  vPushImmSx2 19DF
00700125  |.  9A       vReadMemDs1
00700124  |.  8B       vReadMemFs4
00700123  |.  73 62    vPushImm1 62
00700121  |.  79 09    vPopReg1 vR2B
0070011F  |.  9D       vPopVEsp
0070011E  |.  C3       vWriteMemDs4
0070011D  |.  B6       vMul4
0070011C  |.  E4       vPopfd
0070011B  |.  C6       vReadMemSs4
0070011A  |.  04       vShl2
00700119  |.  2D       vNand2
00700118  |.  7D       vWriteMemEs4
00700117  |.  96       vWriteMemFs4
00700116  |.  50       vWriteMemFs4
00700115  |.  97       vShl1
00700114  |.  BF       vAdd2
00700113  |.  B7 2CE6  vPushImmSx2 0E62C
00700110  |.  CE       vReadMemSs4
0070010F  |.  08       vReadMemDs2
0070010E  |.  7D       vWriteMemEs4
0070010D  |.  57       vAdd4
0070010C  \.  1B       vRet                         ; 退出虚拟机
2011-12-21 10:01
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
110
老大请指教~~~~~~~~~~要怎么做?

指令我是这样加的:



上传的附件:
2011-12-21 10:05
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
111
vPushReg4 和 vPopReg4 二条指令终于弄好了!



原来原指令的指令数据不是寄存器(不知道老大为什么要搞一个操作码包含寄存器的).
上传的附件:
2011-12-21 19:37
0
雪    币: 1270
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
112
你已经做好了啊,我写完了解决方法刚要发。
一般的vPushReg4/vPopReg4的确是操作码包含寄存器,指令中没有数据,用操作码解密后AND 3C做寄存器索引,这个不知道是什么版本的VMP,直接在指令数据里读,正常的只有1字节和2字节的寄存器索引是使用指令数据的。

下面是我刚写的解决方法

你原来的的指令信息明显不对啊,是自动分析得到的吗,如果是那可能是我的程序有问题了,你试试下面的方法,手动填指令信息。

修改以下内容:
指令数据=寄存器
数据长度=1
vEIP改变=1
读操作数 堆栈 DWORD 偏移0
写操作数 寄存器 DWORD

主要的错误是vEIP改变为0,反汇编时不会调整vEIP,导致后面的解码全部错位。指令数据应该是寄存器,会从vEIP中读取一个数做寄存器索引,而操作码包含寄存器不会,这也会导致反汇编这个指令后vEIP错位。操作数填写的也不正确,这样的话不能做数据跟踪,分析转移目标和类型等功能无法正常使用。

自动分析应该不会出现这样的结果,至少vEIP改变应该是正确的,我在程序里硬编码了vPopReg4的操作码,自动分析可能缺少操作数里的寄存器,自己添加一下就可以了。我没有你的程序,只能简单的分析一下,有可能还有别的问题,你先用上面的方法试试行不行。

其他未知指令

0060C230  /MOVZX   EAX, BYTE PTR DS:[ESI-1]          ; 未知指令
0060C23C  |XOR     AL, BL
0060D8A9  |SUB     AL, 96
0060D8B9  |DEC     ESI
0060B6C0  |XOR     AL, 0D9
0060B6D2  |INC     AL
0060B6E0  |XOR     BL, AL
0060B6E7  |MOV     EDX, DWORD PTR DS:[EAX+EDI]
0060B6FB  |SUB     EBP, 4
0060DF23  \MOV     DWORD PTR SS:[EBP], EDX
这个也可以用相同的方法

操作码=vPushvReg4My
特征=
ADD ESI,1
MOV EDX, DWORD PTR[EAX+EDI]
MOV DWORD PTR[EBP], EDX
执行后检查堆栈=选中
指令数据=寄存器
数据长度=1
vEIP改变=1
vESP改变=-4
读操作数 寄存器 DWORD
写操作数 堆栈 DWOED 偏移-4

0060B057  /MOV     EDX, DWORD PTR SS:[EBP]           ; 未知指令
0060B05B  |ADD     EBP, 4
00403DE5  |PUSH    EDX
00403DE9  \RETN 0FFFFFFFC
这个不知道是干什么的,看起来像退出虚拟机,返回到栈顶的DWORD,但是没有恢复寄存器,也可能是清除垃圾指令有问题,清掉了一些指令。

特征=
MOV EDX, DWORD PTR[EBP]
PUSH EDX
RETN CONST
执行后检查堆栈=不选中
指令数据=没有
数据长度=0
vEIP改变=0
vESP改变=4
读操作数 堆栈 DWORD 偏移0

虚拟程序执行到这个指令后应该会停止,但是现在反汇编只在vRet和vJmp停止,即使添加了指令也可能出现反汇编异常,你自己试试吧。
2011-12-21 20:15
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
113
谢谢老大!

你这个插件写得太好了,思想太好了!搞电脑几十年,这是让我有种特别感觉的程序之一。

让我有种想看看源代码的冲动!
2011-12-21 22:24
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
114
我是先复制你原来的指令信息后再修改的!开始没仔细的看其它信息才出问题了!
2011-12-21 22:29
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
115
zdhysd 老大,给二个建议:

1,虚拟指令做成一条指令多个模板。
  如上面的vPushReg4 和 vPopReg4 二条指令.在你那里是那样的,在我这里这样的,这样就是二种模板,如果还有不同的就可以加为第三、四、……,还不是加为新指令了。

2,最重要的一点:在虚拟机的调试器中,反汇编指令中得加入一列:堆栈指针。
  因为虚拟机以堆栈为核心的指令集,堆栈指针算出来可以帮助看代码了! 可以很清楚找到代码逻辑块了!

见下:

或者用第一方式(指令执行之后的堆栈指针)

006EB97B  /$  CF 18        vPopReg4My  vR6       0012FC24                           vR6 = 重定位
006EB979  |.  6E 5BDA4CA3  vPushImm4   0A34CDA5B
006EB974  |.  0A           vAdd4
006EB973  |.  CF 00        vPopReg4My  vR0

006EB971  |.  8F 04        vPopReg4My  vR1                 0A34CDA5B + 5DAF25A5     vR01 = 初始化检查
006EB96F  |.  CF 24        vPopReg4My  vR9                                          vR09 = EDX
006EB96D  |.  CF 00        vPopReg4My  vR0                                          vR00 = ESI
006EB96B  |.  CF 30        vPopReg4My  vR12                                         vR12 = EDI
006EB969  |.  8F 2C        vPopReg4My  vR11                                         vR11 = EBP
006EB967  |.  CF 20        vPopReg4My  vR8                                          vR08 = ECX
006EB965  |.  CF 3C        vPopReg4My  vR15                                         vR15 = EDI
006EB963  |.  8F 28        vPopReg4My  vR10                                         vR10 = EFL
006EB961  |.  CF 1C        vPopReg4My  vR7                                          vR07 = EAX
006EB95F  |.  8F 38        vPopReg4My  vR14                                         vR14 = EBX
006EB95D  |.  CF 10        vPopReg4My  vR4                                          vR04 = 返回地址
006EB95B  |.  CF 34        vPopReg4My  vR13                                         vR13 = vEIP

                                                 +00(vESP=0012FC58 指令执行之后的堆栈指针)
006EB959  |.  18 DCAE      vPushImm2   0AEDC     -02(vESP=0012FC56)
006EB956  |.  6E DDD3F298  vPushImm4   98F2D3DD  -06(vESP=0012FC52)
006EB951  |.  E3 2AAF95F6  vPushImm4   0F695AF2A -0A(vESP=0012FC4E)  <==== 676B9678
006EB94C  |.  3D 00        vPushReg1   vR0B      -0C(vESP=0012FC4C)
006EB94A  |.  D3 14        vPushReg2   vR5W      -0E(vESP=0012FC4A)
006EB948  |.  6E 78966B67  vPushImm4   676B9678  -12(vESP=0012FC46)
006EB943  |.  B1           vPushVEsp             -16(vESP=0012FC42)
006EB942  |.  70 08        vPushImmSx1 8         -1A(vESP=0012FC3E)
006EB940  |.  1F           vAdd4                 -1A(vESP=0012FC3E)  
006EB93F  |.  8F 14        vPopReg4My  vR5       -16(vESP=0012FC42)  -12 + 8 = -0A(0012FC4E)
006EB93D  |.  17           vWriteMemSs4          -0E(vESP=0012FC4A)  -0E - 4 = -12 => -0A         
006EB93C  |.  07 0C        vPopReg1    vR3B      -0C(vESP=0012FC4C)  [-0E] ===> vR3B
006EB93A  |.  12 08        vPopReg2    vR2W      -0A(vESP=0012FC4E)  [-0C] ===> vR2W
006EB938  |.  1F           vAdd4                 -0A(vESP=0012FC4E)
006EB937  |.  CF 0C        vPopReg4My  vR3       -06(vESP=0012FC52)  676B9678 + 98F2D3DD
006EB935  |.  5C 18        vPushReg4My vR6       -0A(vESP=0012FC4E)
006EB933  |.  1F           vAdd4                 -0A(vESP=0012FC4E)     
006EB932  |.  CF 14        vPopReg4My  vR5       -06(vESP=0012FC52)  vR6 + 676B9678 + 98F2D3DD
006EB930  |.  08           vReadMemDs2           -04(vESP=0012FC54)
006EB92F  |.  06           vAdd2                 -06(vESP=0012FC52)
006EB92E  |.  CF 10        vPopReg4My  vR4       -02(vESP=0012FC56)  [vR6 + 676B9678 + 98F2D3DD] + 0AEDC = 14

或者用第二方式(指令执行之前的堆栈指针)

006EB97B  /$  CF 18        vPopReg4My  vR6       0012FC24                           vR6 = 重定位
006EB979  |.  6E 5BDA4CA3  vPushImm4   0A34CDA5B
006EB974  |.  0A           vAdd4
006EB973  |.  CF 00        vPopReg4My  vR0

006EB971  |.  8F 04        vPopReg4My  vR1                 0A34CDA5B + 5DAF25A5     vR01 = 初始化检查
006EB96F  |.  CF 24        vPopReg4My  vR9                                          vR09 = EDX
006EB96D  |.  CF 00        vPopReg4My  vR0                                          vR00 = ESI
006EB96B  |.  CF 30        vPopReg4My  vR12                                         vR12 = EDI
006EB969  |.  8F 2C        vPopReg4My  vR11                                         vR11 = EBP
006EB967  |.  CF 20        vPopReg4My  vR8                                          vR08 = ECX
006EB965  |.  CF 3C        vPopReg4My  vR15                                         vR15 = EDI
006EB963  |.  8F 28        vPopReg4My  vR10                                         vR10 = EFL
006EB961  |.  CF 1C        vPopReg4My  vR7                                          vR07 = EAX
006EB95F  |.  8F 38        vPopReg4My  vR14                                         vR14 = EBX
006EB95D  |.  CF 10        vPopReg4My  vR4                                          vR04 = 返回地址
006EB95B  |.  CF 34        vPopReg4My  vR13                                         vR13 = vEIP
                                 
006EB959  |.  18 DCAE      vPushImm2   0AEDC     +00(vESP=0012FC58 指令执行之前的堆栈指针)
006EB956  |.  6E DDD3F298  vPushImm4   98F2D3DD  -02(vESP=0012FC56)
006EB951  |.  E3 2AAF95F6  vPushImm4   0F695AF2A -06(vESP=0012FC52)  <==== 676B9678
006EB94C  |.  3D 00        vPushReg1   vR0B      -0A(vESP=0012FC4E)
006EB94A  |.  D3 14        vPushReg2   vR5W      -0C(vESP=0012FC4C)
006EB948  |.  6E 78966B67  vPushImm4   676B9678  -0E(vESP=0012FC4A)
006EB943  |.  B1           vPushVEsp             -12(vESP=0012FC46)
006EB942  |.  70 08        vPushImmSx1 8         -16(vESP=0012FC42)
006EB940  |.  1F           vAdd4                 -1A(vESP=0012FC3E)
006EB93F  |.  8F 14        vPopReg4My  vR5       -1A(vESP=0012FC3E)  -12 + 8 = -0A(0012FC4E)
006EB93D  |.  17           vWriteMemSs4          -16(vESP=0012FC42)  -16 + 4 = -12 => -0A         
006EB93C  |.  07 0C        vPopReg1    vR3B      -0E(vESP=0012FC4A)  [-0E] ===> vR3B
006EB93A  |.  12 08        vPopReg2    vR2W      -0C(vESP=0012FC4C)  [-0C] ===> vR2W
006EB938  |.  1F           vAdd4                 -0A(vESP=0012FC4E)
006EB937  |.  CF 0C        vPopReg4My  vR3       -0A(vESP=0012FC4E)  676B9678 + 98F2D3DD
006EB935  |.  5C 18        vPushReg4My vR6       -06(vESP=0012FC52)
006EB933  |.  1F           vAdd4                 -0A(vESP=0012FC4E)   
006EB932  |.  CF 14        vPopReg4My  vR5       -0A(vESP=0012FC4E)  vR6 + 676B9678 + 98F2D3DD
006EB930  |.  08           vReadMemDs2           -06(vESP=0012FC52)
006EB92F  |.  06           vAdd2                 -04(vESP=0012FC54)
006EB92E  |.  CF 10        vPopReg4My  vR4       -06(vESP=0012FC52)  [vR6 + 676B9678 + 98F2D3DD] + 0AEDC = 14
                                                 -02(vESP=0012FC56)
2011-12-22 12:49
0
雪    币: 2167
活跃值: (3569)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
116
2.3.EFLAGS标志位检测+跳转
这一节看完后,就可以畅通无阻的浏览VMP的伪指令了。
2.3.1.判断两个数是否相同
举例数据:
把立即数0000和内存00427D51中的1个word数据比较,检测是否为0。
整个过程分为两个阶段:
第一阶段:执行减法运算
A-B:
  NAND(A,A)  ;这里的标志位是无用的
  A=A+B    ;获得标志位A
  NAND(A,A)  ;获得标志位B
第二阶段:合并两个标志位
  A=AND(A,00000815)
  B=AND(B,FFFFF7EA)
  A=A+B
第三阶段:检测ZF位+跳转
  构建跳转地址结构
  检测ZF位
  获得加密跳转地址
  解密跳转地址
  调用VM_JMP
在开始这个部分前,把所有VM_MOV_EDISTACK_EBPSTACK伪指令中的AND AL,3C指令的下一条指令处下好断点,我们要记录下各个标志位的走向!000000286-->14(表示EFL存储到偏移量14的[EDI+EAX]位置)
第一阶段:
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_PUSHw_IMMEDIATEb
  0013F9AC   0000
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;立即数IMM0000
VM_PUSHdw_IMMEDIATEdw
  0013F9A8   7D51
  0013F9AC   00000042  B...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_PUSHw_MEMORYb
  0013F9AC   00000000
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;内存数MEM0000。很明显,我们看到两个数是相同的
VM_PUSHdw_EBP
  0013F9A8   0013F9AC  .
  0013F9AC   00000000  ....
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_COPYw_EBPSTACK
  0013F9A8   0000
  0013F9AC   00000000  ....
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;复制内存数MEM0000
VM_NANDw
  0013F9A8   00000286  ..
  0013F9AC   000000FF  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NOT(MEM0000)=MEM00FF
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9AC   000000FF  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;000000286-->14(表示EFL存储到偏移量14的[EDI+EAX]位置)
VM_ADDb_EBPSTACK
  0013F9A8   0286
  0013F9AC   00FF0000  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;00FF=IMM0000+MEM00FF
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9AC   00FF
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;标志位A 000000286-->04
VM_PUSHdw_EBP
  0013F9A8   F9AE
  0013F9AC   00FF0013  ..
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_COPYw_EBPSTACK
  0013F9AC   00FF00FF  ..
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_NANDw
  0013F9A8   0246
  0013F9AC   00000000  ....
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NOT(00FF)
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9AC   0000
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;标志位B 00000246-->3C
VM_MOVw_EDISTACKb_EBPSTACKw
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;
第一阶段结束。
两个操作数都是0000,很明显这次判断将是两个数相同,减法后的ZF位置1。
运算的结果都是无用的,关键在于它的标志位,继续看标志位ZF的检测+跳转
第二阶段:
VM_PUSHdw_EDISTACKdw
  0013F9AC   00000286  ..        
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;标志位A 000000286<--04
VM_PUSHdw_EDISTACKdw
  0013F9A8   00000286  ..
  0013F9AC   00000286  ..
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;再来一次标志位A
VM_NANDdw
  0013F9A8   00000282  ..
  0013F9AC   FFFFFD79  y
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(A,A)=NOT(A)=FFFFFD79
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9AC   FFFFFD79  y
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_PUSHdw_IMMEDIATEw
  0013F9A8   FFFFF7EA
  0013F9AC   FFFFFD79  y
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(X,X)=NOT(00000815)=FFFFF7EA 传递相反数,隐藏NOT(00000815)
VM_NANDdw
  0013F9A8   00000202  ..
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(NAND(A,A),NAND(X,X))=标志位A 00000286 AND 00000815
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_PUSHdw_EDISTACKdw
  0013F9A8   00000246  F..
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;标志位B 00000246<--3C
VM_PUSHdw_EDISTACKdw
  0013F9A4   00000246  F..
  0013F9A8   00000246  F..
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;再来一次标志位B
VM_NANDdw
  0013F9A4   00000282  ..
  0013F9A8   FFFFFDB9
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(B,B)=NOT(B)=FFFFFDB9
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9A8   FFFFFDB9
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_PUSHdw_IMMEDIATEw
  0013F9A4   00000815  ..
  0013F9A8   FFFFFDB9
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(Y,Y)=NOT(FFFFF7EA)=00000815 传递相反数,隐藏NOT(FFFFF7EA)
VM_NANDdw
  0013F9A4   00000206  ..
  0013F9A8   00000242  B..
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(NAND(B,B),NAND(Y,Y))=标志位B 00000246 AND FFFFF7EA
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9A8   00000242  B..
  0013F9AC   00000004  ...
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_ADDdw_EBPSTACK
  0013F9A8   00000202  ..
  0013F9AC   00000246  F..
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;两个AND后的标志位相加
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9AC   00000246  F..
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;00000246-->00 暂存结果
第二阶段结束
现在VMP已经把两个标志位合并成了一个,关于标志位合并的解析结束后再来看。继续看第三阶段:检测ZF+跳转,注意看好堆栈数据的构造,堆栈虚拟机的跳转判断有他独特的地方!同时它巧妙的运用了ZF位在EFLAGS中的位置。
第三阶段:
VM_PUSHdw_IMMEDIATEdw
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;跳转地址1
VM_PUSHdw_IMMEDIATEdw
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;跳转地址2
VM_PUSHdw_EBP
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;跳转地址指针
VM_PUSHw_IMMEDIATEb
  0013F9A0   0004
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM  
0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;传递4,看好堆栈的构造,下面的几个操作是独立的
VM_PUSHdw_EDISTACKdw
  0013F99C   0246
  0013F9A0   00040000  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;第二阶段结果00000246<--00
VM_PUSHdw_EBP
  0013F998   F99E
  0013F99C   02460013  .F
  0013F9A0   00040000  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_COPYdw_EBPSTACK
  0013F998   0246
  0013F99C   02460000  ..F
  0013F9A0   00040000  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;复制标志位
VM_NANDdw
  0013F998   0282
  0013F99C   FDB90000  ..
  0013F9A0   0004FFFF  .
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(A,A)=NOT(A)=NOT(00000246)=FFFFFDB9
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F99C   FDB9
  0013F9A0   0004FFFF  .
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A
VM_PUSHdw_IMMEDIATEb
  0013F998   FFBF
  0013F99C   FDB9FFFF
  0013F9A0   0004FFFF  .
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(B,B)=NOT(00000040)=FFFFFFBF 传递相反数,隐藏NOT(000000040)
VM_NANDdw
  0013F998   0202
  0013F99C   00400000  ..@.  ; OFFSET NOTEPAD.B
  0013F9A0   00040000  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;NAND(NAND(B,B),NAND(B,B))=标志位 00000246 AND 00000040
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F99C   0040
  0013F9A0   00040000  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;AND结果是00000040,说明ZF位是1,两个数相等;想想如果不相等,结果是00000000
VM_SHRdw_EBPSTACKb
  0013F99C   00000202  ..
  0013F9A0   00000004  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM  
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;右移4位刚好把00000040移动成00000004;如果不相等,右移后是00000000
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9A0   00000004  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  
VM_ADDdw_EBPSTACK
  0013F9A0   00000206  ..
  0013F9A4   0013F9AC  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;00000004+0013F9A8=0013F9AC;如果不相等,00000000+0013F9A8=0013F9A8
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9A4   0013F9AC  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;跳转地址指针指向的就是判断后的跳转地址
VM_COPYdw_EBPSTACK
  0013F9A4   4DBE4AD8  JM
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;跳转地址指针指向的跳转地址复制出来
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;把最终的跳转地址暂存到EDISTACK,4DBE4AD8-->18
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;扫尾工作,释放EBPSTACK
VM_MOVdw_EDISTACKdw_EBPSTACKdw
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;扫尾工作,释放EBPSTACK
VM_PUSHdw_EDISTACKdw
  0013F9AC   4DBE4AD8  JM
  0013F9B0   7C92118A  |    ; RETURN to ntdll.7C92118A  ;压入判断的跳转地址4DBE4AD8<--18
第三阶段结束
接下来VM将使用一次XOR运算解密4DBE4AD8数据(详见2.2.3.XOR举例),然后是VM_JMP指令调用的组合(详见2.1.3.举例),全过程结束。
两个操作数都是0000,1个来自内存空间,一个来自ESI的编译数据,同时这段代码是在VM刚刚启动就进行的了,都是定量。但是VM还要进行检测,说明两个数据是不确定的,VM在运行过程中要知道它是不是0,可以把它猜测为VMP内部的一个信号。VM一开始就要知道到底应该走向哪个分支。到后面我们会进行测试,如果这个信号比较结果不为0,VM的走向是怎样的。
下面我们来详解上面的操作过程,从第二阶段合并标志位来看
第一阶段:执行减法运算
IMM0000-MEM0000:
  NAND(IMM0000,IMM0000)  ;这里的标志位是无用的
  00FF=IMM00FF+MEM0000  ;获得标志位A 000000286
  NAND(00FF,00FF)    ;获得标志位B 000000246
第二阶段:合并两个标志位
  00000004=AND(00000286,00000815)
  00000242=AND(00000246,FFFFF7EA)
  00000246=00000004+00000242
把两个标志位分别AND后相加,AND操作时用于保留想要的标志位,加法把它合并起来。
关于EFLAGS标志位,Intel的资料显示:

各个标志位的详细说明,请查阅Intel 64 and IA-32 Architectures Software Developer's Mannual(Intel 64位与IA-32体系结构软件开发者指南)中卷1的3.4.3 EFLAGS Register
关于ADD指令,Intel的资料显示:
ADD—Add
Operation

DEST  DEST  SRC;

Flags Affected

The OF, SF, ZF, AF, CF, and PF flags are set according to the result.

把00000286 AND 00000815使用二进制表示:
  0000 0000 0000 0000 0000 0010 1000 0110
AND  0000 0000 0000 0000 0000 1000 0001 0101
我们现在就可以看到,VM要保留的是 OF AF PF CF 位。那么,SF和ZF位为什么不在这里保留呢?我们要想到,由于这里并不是A-B的最后结果,SF 和 ZF位要等到最后的运算完成才能知道。在标志位A中,PF位为1,PF位被保留。
第一个AND数00000815与第二个AND数FFFFF7EA之间是有内在联系的。00000815+FFFFF7EA=FFFFFFFF,也就是说,这两个这两个AND操作时可以把所有的标志位都保留下来的,不会出现遗漏。而把它分开的话,是由于变换了减法的运算方式不进行保留对应的保留。
最后的NAND(A,A):
  NOT A    ;第一个操作数
  NOT A    ;第二个操作数
  AND A,A    ;最终标志位B 00000246是来自这里
关于AND逻辑运算,Intel的资料显示:
AND—Logical AND
Operation

DEST  DEST AND SRC;

Flags Affected

The OF and CF flags are cleared; the SF, ZF, and PF flags are set according to the
result. The state of the AF flag is undefined.

把00000246 AND FFFFF7EA使用二进制表示:
  0000 0000 0000 0000 0000 0010 0100 0110
AND  1111 1111 1111 1111 1111 0111 1110 1010
VM要把除了上面00000815保留了的 OF AF PF CF 以外的标志位都保留了下来。在标志位B中,IF ZF PF 和第二位是Intel的保留位默认为1 这4个标志位为1,所以IF ZF PF被保留。
两个标志位相加后,最终合并成为两个操作数SUB指令后的标志位00000246
下面我们来看第三阶段:
构建跳转结构:
  0013F9A0   0004
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
把两个跳转地址4DBE49D5与4DBE4AD8压入堆栈。0013F9A8成为跳转地址指针,指向第一个跳转地址。如果0013F9A8指针+4,它就会指向第二个指针。最后还有1个0004,它并不是用于给指针+4的操作数,它要参与到巧妙判断ZF位的运算中。
接下来,VM用NAND执行一次AND操作,操作数是:标志位00000246与00000040 (在NAND操作中,VM不意外的隐藏了一次NAND(B,B)操作,直接传递00000040的相反数FFFFFFBF)
  0013F998   FFBF
  0013F99C   FDB9FFFF
  0013F9A0       FFFF  .
  0013F9A0   0004        ;为了清晰变现,把它分开显示
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
VM_NANDdw
  0013F99C   0040        ;运算结果为00000040
  0013F9A0   00040000  ...
  0013F9A4   0013F9A8  .
  0013F9A8   4DBE49D5  IM
  0013F9AC   4DBE4AD8  JM
NAND操作是:
  NOT(A)
  NOT(B)
  AND(A,B)
所以,在这条伪指令的内部,00000246 AND 0000040
把00000246 AND 00000040使用二进制表示:
  0000 0000 0000 0000 0000 0010 0100 0110
AND  0000 0000 0000 0000 0000 0000 0100 0000
唯一的检测ZF位,如果ZF位为1,那么结果将是00000040,否则是00000000。由于ZF位刚好是在byte的4的位置,把它和前面的跳转地址指针相加,0013F9A8+0则是不变,指向第一个地址,+4就指向第二个地址,所以刚好可以让AND后的结果与指针0013F9A8进行1次加法运算,如果ZF位是1,0013F9A8+4将指向4DBE4AD8完成判断跳转。由于ZF位的前面还有1个byte的数据0,就是00000040中最后的1个byte0,如果直接和0013F9A8相加,就变成+40,所以要先进行1次4个bit的右移,00000040变为00000004,这样才正确。

ZF位为1,AND 00000040后:        ZF位为0,AND 00000040后:
  00000040            00000000
SHR(4)  00000004          SHR(4)  00000000
ADD  0013F9A8          ADD  0012F9A8
结果  0013F9AC          结果  0013F9A8
0013F9A4   0013F9AC  .          0013F9A4   0013F9A8  .  
0013F9A8   4DBE49D5  IM          0013F9A8   4DBE49D5  IM
0013F9AC   4DBE4AD8  JM          0013F9AC   4DBE4AD8  JM
ZF位的不同带来跳转地址的不同,把相应的跳转地址解密后,使用VM_JMP给VM的指令指针ESI赋值,全程结束。
进行ZF位比较的话,只需要比较最后的标志位B就可以了,而且可以进行直接的比较,不需要这样截取+拼接,那么为什么VMP还需要在整个过程中截取了所有的标志位呢?我想,可以这么来考虑,在VMP中标志位的截取+拼接在代码中是属于一个模块,不管VMP要检测哪个标志位,它都是先调用这个模块然后再进行标志位检测。虽然在单纯的ZF位检测中,有了很多的不必要的操作,但是它增加了通用性,只要调用了这个模块,VMP在后面可以接上任意标志位的检测。

想要记录上面计算的比较过程,对了,在调试窗口如何得到以下数据
如CMP EAX,12345678
   JE  
  这样上面的记录,如什么时候可以看到比较的常量,或者能区别是比较函数
2011-12-22 22:37
0
雪    币: 2167
活跃值: (3569)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
117
上面引用了标 题: 【原创】VMProtect2.04加壳程序从入门到精通
作 者: binarystar
时 间: 2010-09-30,16:39:58
链 接: http://bbs.pediy.com/showthread.php?t=121412

VMProtect2.04加壳程序从入门到精通
2011-12-22 22:38
0
雪    币: 2167
活跃值: (3569)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
118
【原创】VMProtect1.2x总结(完)      

--------------------------------------------------------------------------------

标 题: 【原创】VMProtect1.2x总结(完)
作 者: wangdell
时 间: 2007-12-06,21:50:23
链 接: http://bbs.pediy.com/showthread.php?t=56121

hoho,先占几个位,慢慢补充和修改。

第四节 伪代码跟踪记录插件(就是要有代码记录的情况)

    为方便调试,同时也是为了学习编写IDA插件,编写了该插件。该插件有如下功能:
    1、识别虚拟机的框架结构,标注VMInit,VMLoop_EP,VMJmp_ea,VM_CONTEXT,VM_OP_TABLE等标签。
    2、启动调试器,执行虚拟机加密的软件,跟踪记录虚拟机的执行情况。可以设定跟踪记录的伪指令中断位置,中断后可暂停、继续和取消执行。
    3、在IDA的Plugins目录下生成两个文本文件.rec和.jmp文件。.rec文件记录的是虚拟机指令执行记录,包括每条指令的地址,机器码,操作数,输入参数,输出参数,指令助记符等。完成简单的Tracer功能。.jmp文件记录的伪代码块的执行情况。
    4、在伪代码块处,为每一条加密的机器码和操作数增加注释,注释内容为伪代码助记符。如不想打开.rec文件,这里也可以简单看一下。

    已发现的还存在的问题:操作数目前在部分指令时还有错误,如PUSHW_CTW时,目前的实现方法,如果改这个bug太困难了。只能凑合用了。好在影响不大。

    使用方法,将该插件拷贝到IDA的plugins目录下,装载完待调试文件后,按快捷键ALT-D启动。插件会有少许提示询问。注意运行前请先保存好文件,以免运行时破坏原来的分析和注释。

    下面是一个简单的跳转指令加密的记录结果(.rec文件),它只有两个伪代码块,中间{}中的是机器码,{}左边的是三个输入参数,右边的是三个输出参数,没有则留空。||之间的是栈海拔指示,最后是伪指令助记符:

S/N    :[    arg0][    arg1][    arg2]{     ESI->机器码     }[ rvalue0][ rvalue1][ rvalue2]| 栈 |伪指令   
第0000次跳转,跳转到:0x00463108(VMInsBuff_00)
00000000:[00462968][        ][        ]{00463108->5d 07      }[        ][        ][        ]|0008|VM_POP_CT
00000001:[00462968][        ][        ]{0046310A->5d 0d      }[        ][        ][        ]|0012|VM_POP_CT
00000002:[00462968][        ][        ]{0046310C->5d 02      }[        ][        ][        ]|0016|VM_POP_CT
00000003:[00462968][        ][        ]{0046310E->5a 06      }[        ][        ][        ]|0020|VM_POP_CT
00000004:[00462968][        ][        ]{00463110->5d 0e      }[        ][        ][        ]|0024|VM_POP_CT
00000005:[00462968][        ][        ]{00463112->5a 0c      }[        ][        ][        ]|0028|VM_POP_CT
00000006:[00462968][        ][        ]{00463114->5a 00      }[        ][        ][        ]|0032|VM_POP_CT
00000007:[00462968][        ][        ]{00463116->5a 04      }[        ][        ][        ]|0036|VM_POP_CT
00000008:[00462968][        ][        ]{00463118->5d 03      }[        ][        ][        ]|0040|VM_POP_CT
00000009:[00462968][        ][        ]{0046311A->5a 0a      }[        ][        ][        ]|0044|VM_POP_CT
00000010:[00462968][        ][        ]{0046311C->5a 0b      }[        ][        ][        ]|0048|VM_POP_CT
00000011:[        ][        ][        ]{0046311E->92 01      }[00000001][        ][        ]|0044|VM_PUSH_IMMB
00000012:[00462968][00000001][        ]{00463120->0a         }[1841a8bc][        ][        ]|0048|VM_ADD
00000013:[00000001][        ][        ]{00463121->5d 05      }[        ][        ][        ]|0052|VM_POP_CT
00000014:[        ][        ][        ]{00463123->2a 13      }[    0013][        ][        ]|0050|VM_PUSHW_IMMB
00000015:[        ][        ][        ]{00463125->27 05      }[1841a8bc][        ][        ]|0046|VM_PUSH_CT
00000016:[        ][        ][        ]{00463127->d3 05      }[1841a8bc][        ][        ]|0042|VM_PUSH_CT
00000017:[25fd0046][1841a8bc][    a8bc]{00463129->10         }[    0203][45e0c20d][        ]|0046|VM_SHLD_F
00000018:[    a8bc][        ][        ]{0046312A->5c 08      }[        ][        ][        ]|0048|VM_POPW_CTW
00000019:[        ][        ][        ]{0046312C->22 599f1ada}[599f1ada][        ][        ]|0044|VM_PUSH_IMM
00000020:[27a30046][599f1ada][        ]{00463131->0a         }[9f7fdce7][        ][        ]|0048|VM_ADD
00000021:[599f1ada][        ][        ]{00463132->5d 05      }[        ][        ][        ]|0052|VM_POP_CT
00000022:[        ][        ][        ]{00463134->2a 17      }[    0017][        ][        ]|0050|VM_PUSHW_IMMB
00000023:[        ][        ][        ]{00463136->27 05      }[9f7fdce7][        ][        ]|0046|VM_PUSH_CT
00000024:[        ][        ][        ]{00463138->d3 05      }[9f7fdce7][        ][        ]|0042|VM_PUSH_CT
00000025:[25fd2899][9f7fdce7][    dce7]{0046313A->76         }[    0283][ffb9cf3e][        ]|0046|VM_SHRD_F
00000026:[    dce7][        ][        ]{0046313B->5c 01      }[        ][        ][        ]|0048|VM_POPW_CTW
00000027:[        ][        ][        ]{0046313D->2b         }[0012fe00][        ][        ]|0044|VM_PUSH_ESP
00000028:[27a30046][        ][        ]{0046313E->57         }[ffb9cf3e][        ][        ]|0044|VM_MOV_B_SSA
00000029:[00462b06][ffb9cf3e][        ]{0046313F->77         }[004630c1][        ][        ]|0048|VM_NOR
00000030:[        ][        ][        ]{00463140->92 01      }[00000001][        ][        ]|0044|VM_PUSH_IMMB
00000031:[00462a51][00000001][        ]{00463142->0a         }[004630c2][        ][        ]|0048|VM_ADD
00000032:[        ][        ][        ]{00463143->92 ff      }[ffffffff][        ][        ]|0044|VM_PUSH_IMMB
00000033:[004625fd][ffffffff][        ]{00463145->0a         }[004630c1][        ][        ]|0048|VM_ADD
00000034:[ffffffff][        ][        ]{00463146->5d 05      }[        ][        ][        ]|0052|VM_POP_CT
00000035:[        ][        ][        ]{00463148->2b         }[0012fe04][        ][        ]|0048|VM_PUSH_ESP
00000036:[        ][        ][        ]{00463149->27 0a      }[cccccccc][        ][        ]|0044|VM_PUSH_CT
00000037:[        ][        ][        ]{0046314B->d3 03      }[00000001][        ][        ]|0040|VM_PUSH_CT
00000038:[        ][        ][        ]{0046314D->d3 04      }[00000212][        ][        ]|0036|VM_PUSH_CT
00000039:[        ][        ][        ]{0046314F->27 00      }[0045a7a0][        ][        ]|0032|VM_PUSH_CT
00000040:[        ][        ][        ]{00463151->d3 0c      }[7ffd8000][        ][        ]|0028|VM_PUSH_CT
00000041:[        ][        ][        ]{00463153->27 0e      }[0012fedc][        ][        ]|0024|VM_PUSH_CT
00000042:[        ][        ][        ]{00463155->d3 06      }[771a3dbf][        ][        ]|0020|VM_PUSH_CT
00000043:[        ][        ][        ]{00463157->d3 02      }[7ffd8000][        ][        ]|0016|VM_PUSH_CT
00000044:[        ][        ][        ]{00463159->d3 0d      }[0012fedc][        ][        ]|0012|VM_PUSH_CT
00000045:[        ][        ][        ]{0046315B->d3 07      }[00000000][        ][        ]|0008|VM_PUSH_CT
00000046:[        ][        ][        ]{0046315D->27 05      }[004630c1][        ][        ]|0004|VM_PUSH_CT
00000047:[        ][        ][        ]{0046315F->6c         }[        ][        ][        ]|0008|VM_JMP
第0001次跳转,跳转到:0x004630C1(VMInsBuff_01)
00000048:[00462968][        ][        ]{004630C1->5d 07      }[        ][        ][        ]|0012|VM_POP_CT
00000049:[00462968][        ][        ]{004630C3->5d 0d      }[        ][        ][        ]|0016|VM_POP_CT
00000050:[00462968][        ][        ]{004630C5->5a 02      }[        ][        ][        ]|0020|VM_POP_CT
00000051:[00462968][        ][        ]{004630C7->5a 06      }[        ][        ][        ]|0024|VM_POP_CT
00000052:[00462968][        ][        ]{004630C9->5d 0e      }[        ][        ][        ]|0028|VM_POP_CT
00000053:[00462968][        ][        ]{004630CB->5a 0c      }[        ][        ][        ]|0032|VM_POP_CT
00000054:[00462968][        ][        ]{004630CD->5d 00      }[        ][        ][        ]|0036|VM_POP_CT
00000055:[00462968][        ][        ]{004630CF->5a 04      }[        ][        ][        ]|0040|VM_POP_CT
00000056:[00462968][        ][        ]{004630D1->5d 03      }[        ][        ][        ]|0044|VM_POP_CT
00000057:[00462968][        ][        ]{004630D3->5d 0a      }[        ][        ][        ]|0048|VM_POP_CT
00000058:[00462884][        ][        ]{004630D5->a5         }[        ][        ][        ]|0052|VM_POP_EAX
00000059:[        ][        ][        ]{004630D6->22 ffbe3ccf}[ffbe3ccf][        ][        ]|0048|VM_PUSH_IMM
00000060:[        ][        ][        ]{004630DB->27 02      }[7ffd8000][        ][        ]|0044|VM_PUSH_CT
00000061:[        ][        ][        ]{004630DD->2b         }[0012fdfc][        ][        ]|0040|VM_PUSH_ESP
00000062:[00462968][        ][        ]{004630DE->57         }[7ffd8000][        ][        ]|0040|VM_MOV_B_SSA
00000063:[        ][        ][        ]{004630DF->22 669828c5}[669828c5][        ][        ]|0036|VM_PUSH_IMM
00000064:[        ][        ][        ]{004630E4->2b         }[0012fdf4][        ][        ]|0032|VM_PUSH_ESP
00000065:[        ][        ][        ]{004630E5->92 08      }[00000008][        ][        ]|0028|VM_PUSH_IMMB
00000066:[00462968][00000008][        ]{004630E7->0a         }[0012fdfc][        ][        ]|0032|VM_ADD
00000067:[00000008][        ][        ]{004630E8->bd         }[7ffd8000][        ][        ]|0040|VM_MOV_SSA_B
00000068:[        ][        ][        ]{004630E9->2b         }[0012fdf8][        ][        ]|0036|VM_PUSH_ESP
00000069:[0012fdfc][        ][        ]{004630EA->87         }[      00][        ][        ]|0038|VM_MOVB_B_SSA
00000070:[    0046][    fdf8][        ]{004630EB->7a         }[    0246][    8000][        ]|0038|VM_ADDB_F
00000071:[0046241b][        ][        ]{004630EC->a5         }[        ][        ][        ]|0042|VM_POP_EAX
00000072:[    27a3][        ][        ]{004630ED->5c 0f      }[        ][        ][        ]|0044|VM_POPW_CTW
00000073:[00462a51][669828c5][        ]{004630EF->77         }[0041c330][        ][        ]|0048|VM_NOR
00000074:[        ][        ][        ]{004630F0->27 07      }[00000000][        ][        ]|0044|VM_PUSH_CT
00000075:[00462a51][00000000][        ]{004630F2->0a         }[0041c330][        ][        ]|0048|VM_ADD
00000076:[        ][        ][        ]{004630F3->27 0a      }[cccccccc][        ][        ]|0044|VM_PUSH_CT
00000077:[        ][        ][        ]{004630F5->d3 03      }[00000001][        ][        ]|0040|VM_PUSH_CT
00000078:[        ][        ][        ]{004630F7->d3 04      }[00000212][        ][        ]|0036|VM_PUSH_CT
00000079:[        ][        ][        ]{004630F9->27 00      }[0045a7a0][        ][        ]|0032|VM_PUSH_CT
00000080:[        ][        ][        ]{004630FB->d3 0c      }[7ffd8000][        ][        ]|0028|VM_PUSH_CT
00000081:[        ][        ][        ]{004630FD->27 0e      }[0012fedc][        ][        ]|0024|VM_PUSH_CT
00000082:[        ][        ][        ]{004630FF->27 06      }[771a3dbf][        ][        ]|0020|VM_PUSH_CT
00000083:[        ][        ][        ]{00463101->27 02      }[7ffd8000][        ][        ]|0016|VM_PUSH_CT
00000084:[        ][        ][        ]{00463103->27 0d      }[0012fedc][        ][        ]|0012|VM_PUSH_CT
00000085:[        ][        ][        ]{00463105->d3 07      }[00000000][        ][        ]|0008|VM_PUSH_CT
00000086:[        ][        ][        ]{00463107->93         }[        ][        ][        ]|0048|VM_RETN
(.jmp)文件给出了伪代码块的记录,当加密体比较庞大时,从这个文件里能看出大致的执行流程,以便定位关键跟踪区域。本例中只有两条。
第0000次跳转,跳转到:0x00463108(VMInsBuff_00)
第0001次跳转,跳转到:0x004630C1(VMInsBuff_01)
2011-12-22 22:43
0
雪    币: 2167
活跃值: (3569)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
119
楼主可以看一下,能够记录某一部分VMP的运行情况,
伪代码跟踪记录插件(就是要有代码记录的情况)
2011-12-22 22:45
0
雪    币: 2167
活跃值: (3569)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
120
还有一个就是虚拟机调试器如何使用,是在进入虚拟机时设断点进入吗
2011-12-22 22:48
0
雪    币: 1270
活跃值: (230)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
121
1,虚拟指令做成一条指令多个模板。
这是个好办法,以后会考虑加入,但是现在的程序是一边研究一边写的代码,结构很乱,修改也不方便,做还原前要重写很多东西,而且程序中硬编码了一些指令,估计要在修改完程序结构以后才能添加了。

2,反汇编指令中得加入一列:堆栈指针。
看你的解释和我想做的分析数据类型和提取表达式很像,这些是化简和还原的基础,以后肯定要做的。分析数据类型可以向后跟踪数据,得到数据的类型和数值,比如寄存器、立即数等,提取表达式可以把指令做的计算组合起来,就像你写的那些一样。这可能要以后再做了,因为我想做成通用的指令处理程序,不只是VMP,其他的变形和虚拟也可以做很少的修改就能使用,往下做之前可能要重写大部分内容,我准备做到完全恢复程序结构后暂停一段时间,全部设计好后再做,可能还会更新两版。



你的意思是类似OD RUN跟踪的功能?这个以后会做,但是最近应该不会加入,想记录转移和比较过程的话,用条件记录断点应该可以,下一版会加入的。找比较用的常量可以从转移往前看,在压入加密的转移地址之前应该有加法或与非指令,常量就是这些指令的一个操作数,如果隐藏常量可能要手动计算一下。

调试的话可以先在虚拟程序入口选择分析虚拟程序,然后就可以在调试窗口中设置断点了,也可以选择进入虚拟机中断,在分析虚拟机后,任何进入已分析的虚拟机的地方都会中断,但是只能作为临时指令块分析。
2011-12-22 23:14
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
122
我现在看一个程序,都要手工计算堆栈指针,太痛苦了!
这些VM加壳的也太变态了,一条86指令可以拆成几十条VM几指令!


你这个程序的思想太好了,很早我就有这个想法,苦没时间实现,现在看到实现我非常高兴,有什么要帮助的,我可以给你打打小工!
2011-12-23 09:54
0
雪    币: 1644
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
123
感谢分享。 试用下。
2011-12-25 14:55
0
雪    币: 186
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
124
强帖 留名  

小弟在此膜拜
2011-12-26 05:13
0
雪    币: 9049
活跃值: (4449)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
125
楼主大大呢?
2011-12-26 22:37
0
游客
登录 | 注册 方可回帖
返回
//