VMProtect SDK保护的代码如何修改?
请教一下:如下代码:采用了VMProtect SDK进行保护想进行修改“VMProtect begin”和"VMProtect end"之间的任意代码都会出错,请问有解决的办法吗?
00803E44/$55 push ebp
00803E45|.8BEC mov ebp, esp
00803E47|.83C4 F8 add esp, -8
00803E4A|.8945 FC mov dword ptr , eax
00803E4D|.C645 FB 00 mov byte ptr , 0
00803E51|.8B45 FC mov eax, dword ptr
00803E54|.E8 BB040000 call 00804314
00803E59|.84C0 test al, al
00803E5B|.74 7C je short 00803ED9
00803E5D|.EB 10 jmp short 00803E6F
00803E5F|.56 4D 50 72 6>ascii "VMProtect begin",0
00803E6F|>8B45 FC mov eax, dword ptr
00803E72|.83C0 04 add eax, 4
00803E75|.50 push eax ; /Arg1
00803E76|.E8 F509FFFF call 007F4870 ; \dump.007F4870
00803E7B|.83F8 01 cmp eax, 1
00803E7E|.1BC0 sbb eax, eax
00803E80|.40 inc eax
00803E81|.8845 FA mov byte ptr , al
00803E84|.EB 2B jmp short 00803EB1
00803E86|>8B45 FC /mov eax, dword ptr
00803E89|.E8 AE000000 |call 00803F3C
00803E8E|.84C0 |test al, al
00803E90|.74 0A |je short 00803E9C
00803E92|.8B45 FC |mov eax, dword ptr
00803E95|.E8 4E050000 |call 008043E8
00803E9A|.EB 1B |jmp short 00803EB7
00803E9C|>8B45 FC |mov eax, dword ptr
00803E9F|.83C0 04 |add eax, 4
00803EA2|.50 |push eax ; /Arg1
00803EA3|.E8 C809FFFF |call 007F4870 ; \dump.007F4870
00803EA8|.83F8 01 |cmp eax, 1
00803EAB|.1BC0 |sbb eax, eax
00803EAD|.40 |inc eax
00803EAE|.8845 FA |mov byte ptr , al
00803EB1|>807D FA 00 cmp byte ptr , 0
00803EB5|.^ 75 CF \jnz short 00803E86
00803EB7|>8A45 FA mov al, byte ptr
00803EBA|.8B55 FC mov edx, dword ptr
00803EBD|.8842 3C mov byte ptr , al
00803EC0|.8B45 FC mov eax, dword ptr
00803EC3|.8A40 3C mov al, byte ptr
00803EC6|.8845 FB mov byte ptr , al
00803EC9|.EB 0E jmp short 00803ED9
00803ECB|.56 4D 50 72 6>ascii "VMProtect end",0
00803ED9|>8A45 FB mov al, byte ptr
00803EDC|.59 pop ecx
00803EDD|.59 pop ecx
00803EDE|.5D pop ebp
00803EDF\.C3 retn 那是它的文件效验,没有什么不可修改的,并且你有此一问就是说你还暂时不要去碰他
并且一旦被 VMP 虚拟了的代码,你还得去还原,这里面涉及的就比较麻烦了
页:
[1]