如题
我用工具抓取了VMProtect加密的程序的伪代码
vmp0:0040D39A VM_OP_TABLE dd offset VM_POP_DR1 ; DATA XREF: _main+C7FBr
.vmp0:0040D39E dd offset VM_POPW_SS
.vmp0:0040D3A2 dd offset VM_FSIN
.vmp0:0040D3A6 dd offset VM_MOVW_CSA_B
.vmp0:0040D3AA dd offset VM_FILD
.vmp0:0040D3AE dd offset VM_FILD
.vmp0:0040D3B2 dd offset VM_DIV
.vmp0:0040D3B6 dd offset VM_PUSHW_CTB1
.vmp0:0040D3BA dd offset VM_MOVB_GSA_B
.vmp0:0040D3BE dd offset VM_SHR_F
.vmp0:0040D3C2 dd offset VM_PUSHW_ES
.vmp0:0040D3C6 dd offset VM_MOVW_B_CSA
.vmp0:0040D3CA dd offset VM_SHRW
.vmp0:0040D3CE dd offset VM_MOV_FSA_B
.vmp0:0040D3D2 dd offset VM_RETN
.vmp0:0040D3D6 dd offset VM_FSIN
.vmp0:0040D3DA dd offset VM_PUSH_CR4
.vmp0:0040D3DE dd offset VM_FCHS
.vmp0:0040D3E2 dd offset VM_DIVW
.vmp0:0040D3E6 dd offset VM_NORB
.vmp0:0040D3EA dd offset VM_MOVB_B_DSA
.vmp0:0040D3EE dd offset VM_FST
.vmp0:0040D3F2 dd offset VM_FINCSTP
.vmp0:0040D3F6 dd offset VM_MOV_DSA_B
.vmp0:0040D3FA dd offset VM_POP_DR0
.vmp0:0040D3FE dd offset VM_IDIV
.vmp0:0040D402 dd offset VM_POPW_DS
.vmp0:0040D406 dd offset VM_MOVB_B_CSA
.vmp0:0040D40A dd offset VM_FLDT
.vmp0:0040D40E dd offset VM_POP_DR3
.vmp0:0040D412 dd offset VM_PUSH_IMM
.vmp0:0040D416 dd offset VM_PUSHW_CTB1
.vmp0:0040D41A dd offset VM_MOV_B_DSA
.vmp0:0040D41E dd offset VM_POPW_GS
.vmp0:0040D422 dd offset VM_POP_DR2
.vmp0:0040D426 dd offset VM_IDIVW
.vmp0:0040D42A dd offset VM_POPW_SP
.vmp0:0040D42E dd offset VM_ADD
.vmp0:0040D432 dd offset VM_MOVW_B_ESA
.vmp0:0040D436 dd offset VM_PUSHW_FS
.vmp0:0040D43A dd offset VM_MOVB_DSA_B
.vmp0:0040D43E dd offset VM_PUSH_IMMB
.vmp0:0040D442 dd offset VM_PUSH_DR2
.vmp0:0040D446 dd offset VM_POPW_CX
.vmp0:0040D44A dd offset VM_MOVW_B_DSA
.vmp0:0040D44E dd offset VM_F2XM1
.vmp0:0040D452 dd offset VM_POPW_FS
.vmp0:0040D456 dd offset VM_FDECSTP
.vmp0:0040D45A dd offset VM_POPW_ES
.vmp0:0040D45E dd offset VM_FNSTCW
.vmp0:0040D462 dd offset VM_POPW_CX
.vmp0:0040D466 dd offset VM_PUSH_CR0
.vmp0:0040D46A dd offset VM_MOVW_DSA_B
.vmp0:0040D46E dd offset VM_MOVB_B_FSA
.vmp0:0040D472 dd offset VM_POP_CR6
.vmp0:0040D476 dd offset VM_FSUBRQ
.vmp0:0040D47A dd offset VM_MOVW_DSA_B
.vmp0:0040D47E dd offset VM_MOVW_B_DSA
.vmp0:0040D482 dd offset VM_FSTP
.vmp0:0040D486 dd offset VM_FTST
.vmp0:0040D48A dd offset VM_FCOS
.vmp0:0040D48E dd offset VM_FMULQ
.vmp0:0040D492 dd offset VM_FPREM1
.vmp0:0040D496 dd offset VM_FSTPQ
.vmp0:0040D49A dd offset VM_SHRB_F
.vmp0:0040D49E dd offset VM_PUSHW_CS
.vmp0:0040D4A2 dd offset VM_MOVB_ESA_B
.vmp0:0040D4A6 dd offset VM_NORW_F
.vmp0:0040D4AA dd offset VM_ADDB
.vmp0:0040D4AE dd offset VM_PUSH_DR1
.vmp0:0040D4B2 dd offset VM_FSTQ
.vmp0:0040D4B6 dd offset VM_PUSH_DR4
.vmp0:0040D4BA dd offset VM_FISUBQ
.vmp0:0040D4BE dd offset VM_POP_DR0
.vmp0:0040D4C2 dd offset VM_DIVB
.vmp0:0040D4C6 dd offset VM_MUL_F
.vmp0:0040D4CA dd offset VM_SHL_F
.vmp0:0040D4CE dd offset VM_PUSH_DR7
.vmp0:0040D4D2 dd offset VM_ADD_F
.vmp0:0040D4D6 dd offset VM_MOV_CSA_B
.vmp0:0040D4DA dd offset VM_FLDQ
.vmp0:0040D4DE dd offset VM_PUSH_CR0
.vmp0:0040D4E2 dd offset VM_SHLW
.vmp0:0040D4E6 dd offset VM_MOVB_GSA_B
.vmp0:0040D4EA dd offset VM_MOVW_B_FSA
.vmp0:0040D4EE dd offset VM_FDECSTP
.vmp0:0040D4F2 dd offset VM_PUSHW_SP
.vmp0:0040D4F6 dd offset VM_FLDPI
.vmp0:0040D4FA dd offset VM_SHL
.vmp0:0040D4FE dd offset VM_FLDCW
.vmp0:0040D502 dd offset VM_PUSH_IMMB
.vmp0:0040D506 dd offset VM_FISTPW
.vmp0:0040D50A dd offset VM_PUSH_CT
.vmp0:0040D50E dd offset VM_IMULB_F
.vmp0:0040D512 dd offset VM_MOVW_B_FSA
.vmp0:0040D516 dd offset VM_FADDQ
.vmp0:0040D51A dd offset VM_MULB_F
.vmp0:0040D51E dd offset VM_SHRB
.vmp0:0040D522 dd offset VM_MOVW_ESA_B
.vmp0:0040D526 dd offset VM_WAIT
.vmp0:0040D52A dd offset VM_PUSHW_IMMW
.vmp0:0040D52E dd offset VM_MOVB_SSA_B
.vmp0:0040D532 dd offset VM_POPW_CTW
.vmp0:0040D536 dd offset VM_PUSH_DR5
.vmp0:0040D53A dd offset VM_FNINIT
.vmp0:0040D53E dd offset VM_MOVB_GSA_B
.vmp0:0040D542 dd offset VM_POP_EAX
.vmp0:0040D546 dd offset VM_PUSH_CR2
.vmp0:0040D54A dd offset VM_SHLB
.vmp0:0040D54E dd offset VM_JMP
.vmp0:0040D552 dd offset VM_POP_CR0
.vmp0:0040D556 dd offset VM_POPW_SP
.vmp0:0040D55A dd offset VM_MOV_ESA_B
.vmp0:0040D55E dd offset VM_POP_CR1
.vmp0:0040D562 dd offset VM_POP_ESP
.vmp0:0040D566 dd offset VM_MOV_B_GSA
.vmp0:0040D56A dd offset VM_POP_CR1
.vmp0:0040D56E dd offset VM_PUSHW_CTW
.vmp0:0040D572 dd offset VM_F2XM1
.vmp0:0040D576 dd offset VM_FABS
.vmp0:0040D57A dd offset VM_FPATAN
.vmp0:0040D57E dd offset VM_FISUB
.vmp0:0040D582 dd offset VM_PUSH_ESP
.vmp0:0040D586 dd offset VM_POP_DR7
.vmp0:0040D58A dd offset VM_POP_DR6
.vmp0:0040D58E dd offset VM_PUSHW_CTB0
.vmp0:0040D592 dd offset VM_FMUL
.vmp0:0040D596 dd offset VM_PUSHW_GS
.vmp0:0040D59A dd offset VM_POP_CR2
.vmp0:0040D59E dd offset VM_FILDQ
.vmp0:0040D5A2 dd offset VM_PUSH_DR1
.vmp0:0040D5A6 dd offset VM_MOVB_B_FSA
.vmp0:0040D5AA dd offset VM_FNSTSW
.vmp0:0040D5AE dd offset VM_POP_CT
.vmp0:0040D5B2 dd offset VM_POP_CR1
.vmp0:0040D5B6 dd offset VM_MOVW_ESA_B
.vmp0:0040D5BA dd offset VM_SHRD_F
.vmp0:0040D5BE dd offset VM_FISTPQ
.vmp0:0040D5C2 dd offset VM_SHL
.vmp0:0040D5C6 dd offset VM_POP_CR2
.vmp0:0040D5CA dd offset VM_MOV_SSA_B
.vmp0:0040D5CE dd offset VM_MOV_GSA_B
.vmp0:0040D5D2 dd offset VM_DIVW
.vmp0:0040D5D6 dd offset VM_ADDW_F
.vmp0:0040D5DA dd offset VM_MOV_CSA_B
.vmp0:0040D5DE dd offset VM_POPW_CTB0
.vmp0:0040D5E2 dd offset VM_MOVW_B_SSA
.vmp0:0040D5E6 dd offset VM_POPW_GS
.vmp0:0040D5EA dd offset VM_FDIV
.vmp0:0040D5EE dd offset VM_PUSHW_DS
.vmp0:0040D5F2 dd offset VM_MOV_B_CSA
.vmp0:0040D5F6 dd offset VM_FSUB
.vmp0:0040D5FA dd offset VM_POP_DR3
.vmp0:0040D5FE dd offset VM_PUSH_DR6
.vmp0:0040D602 dd offset VM_IMULW_F
.vmp0:0040D606 dd offset VM_MOV_B_ESA
.vmp0:0040D60A dd offset VM_FRNDINT
.vmp0:0040D60E dd offset VM_POPW_CTB1
.vmp0:0040D612 dd offset VM_FCOMPQ
.vmp0:0040D616 dd offset VM_MOV_FSA_B
.vmp0:0040D61A dd offset VM_MOV_B_ESA
.vmp0:0040D61E dd offset VM_MOV_B_DSA
.vmp0:0040D622 dd offset VM_FSUBQ
.vmp0:0040D626 dd offset VM_RETF
.vmp0:0040D62A dd offset VM_NORW_F
.vmp0:0040D62E dd offset VM_POP_DR2
.vmp0:0040D632 dd offset VM_PUSH_CR1
.vmp0:0040D636 dd offset VM_FRNDINT
.vmp0:0040D63A dd offset VM_FDECSTP
.vmp0:0040D63E dd offset VM_POP_CT
.vmp0:0040D642 dd offset VM_IDIVB
.vmp0:0040D646 dd offset VM_MOVB_B_SSA
.vmp0:0040D64A dd offset VM_SHRW_F
.vmp0:0040D64E dd offset VM_FLd1
.vmp0:0040D652 dd offset VM_RETN
.vmp0:0040D656 dd offset VM_SHR
.vmp0:0040D65A dd offset VM_MOV_B_SSA
.vmp0:0040D65E dd offset VM_MOVW_FSA_B
.vmp0:0040D662 dd offset VM_FCOS
.vmp0:0040D666 dd offset VM_PUSHW_SS
.vmp0:0040D66A dd offset VM_FDIVQ
.vmp0:0040D66E dd offset VM_FILDQ
.vmp0:0040D672 dd offset VM_MULW_F
.vmp0:0040D676 dd offset VM_FST
.vmp0:0040D67A dd offset VM_FMULQ
.vmp0:0040D67E dd offset VM_FNSTSW
.vmp0:0040D682 dd offset VM_PUSH_CR7
.vmp0:0040D686 dd offset VM_PUSHW_IMMB
.vmp0:0040D68A dd offset VM_POP_DR7
.vmp0:0040D68E dd offset VM_FMUL
.vmp0:0040D692 dd offset VM_POP_ESP
.vmp0:0040D696 dd offset VM_SHLD_F
.vmp0:0040D69A dd offset VM_MOVW_B_GSA
.vmp0:0040D69E dd offset VM_MOV_B_FSA
.vmp0:0040D6A2 dd offset VM_FLDG2
.vmp0:0040D6A6 dd offset VM_PUSH_CR2
.vmp0:0040D6AA dd offset VM_FLDT
.vmp0:0040D6AE dd offset VM_FSTPT
.vmp0:0040D6B2 dd offset VM_POP_CR5
.vmp0:0040D6B6 dd offset VM_FLDZ
.vmp0:0040D6BA dd offset VM_FISTP
.vmp0:0040D6BE dd offset VM_ADDW
.vmp0:0040D6C2 dd offset VM_PUSH_CR3
.vmp0:0040D6C6 dd offset VM_POP_CR3
.vmp0:0040D6CA dd offset VM_MOVW_GSA_B
.vmp0:0040D6CE dd offset VM_NORB_F
.vmp0:0040D6D2 dd offset VM_POP_CR0
.vmp0:0040D6D6 dd offset VM_SHLB_F
.vmp0:0040D6DA dd offset VM_IDIV
.vmp0:0040D6DE dd offset VM_NOR_F
.vmp0:0040D6E2 dd offset VM_POPW_CTW
.vmp0:0040D6E6 dd offset VM_PUSHW_CTB1
.vmp0:0040D6EA dd offset VM_MOVB_B_GSA
.vmp0:0040D6EE dd offset VM_PUSH_CR6
.vmp0:0040D6F2 dd offset VM_MOVW_GSA_B
.vmp0:0040D6F6 dd offset VM_PUSH_CR5
.vmp0:0040D6FA dd offset VM_PUSH_DR0
.vmp0:0040D6FE dd offset VM_PUSH_IMMW
.vmp0:0040D702 dd offset VM_PUSHW_IMMB
.vmp0:0040D706 dd offset VM_MOVW_B_GSA
.vmp0:0040D70A dd offset VM_MOVW_SSA_B
.vmp0:0040D70E dd offset VM_PUSH_DR3
.vmp0:0040D712 dd offset VM_MOVB_CSA_B
.vmp0:0040D716 dd offset VM_MOVB_B_GSA
.vmp0:0040D71A dd offset VM_SHLW_F
.vmp0:0040D71E dd offset VM_PUSH_IMM
.vmp0:0040D722 dd offset VM_POP_DR5
.vmp0:0040D726 dd offset VM_NOR_F
.vmp0:0040D72A dd offset VM_FSUBR
.vmp0:0040D72E dd offset VM_PUSHW_CTB1
.vmp0:0040D732 dd offset VM_POP_EAX
.vmp0:0040D736 dd offset VM_POP_CR7
.vmp0:0040D73A dd offset VM_FLD
.vmp0:0040D73E dd offset VM_MOVB_FSA_B
.vmp0:0040D742 dd offset VM_POP_CR4
.vmp0:0040D746 dd offset VM_NORW
.vmp0:0040D74A dd offset VM_MOVB_SSA_B
.vmp0:0040D74E dd offset VM_FMULQ
.vmp0:0040D752 dd offset VM_FLDN2
.vmp0:0040D756 dd offset VM_IMUL_F
.vmp0:0040D75A dd offset VM_MOVB_B_ESA
.vmp0:0040D75E dd offset VM_FNCLEX
.vmp0:0040D762 dd offset VM_FPTAN
.vmp0:0040D766 dd offset VM_PUSH_CR4
.vmp0:0040D76A dd offset VM_FSQRT
.vmp0:0040D76E dd offset VM_FCOMP
.vmp0:0040D772 dd offset VM_FYL2X
.vmp0:0040D776 dd offset VM_POP_DR1
.vmp0:0040D77A dd offset VM_NOR
.vmp0:0040D77E dd offset VM_POPW_CX
.vmp0:0040D782 dd offset VM_POP_DR4
.vmp0:0040D786 dd offset VM_ADDB_F
.vmp0:0040D78A dd offset VM_PUSH_DR2
.vmp0:0040D78E dd offset VM_FADD
.vmp0:0040D792 dd offset VM_MOVB_FSA_B
.vmp0:0040D796 dd offset VM_FPREM
.vmp0:0040D79A
.vmp0:0040D79A ; =============== S U B R O U T I N E =======
如何在被加密程序 抓取那段被加密的 伪代码出来啊?
还有如何分析 还原啊?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课