0081C000 8B4424 04 mov eax,dword ptr ss:[esp+0x4]
0081C004 6A 00 push 0x0
0081C006 C700 00000000 mov dword ptr ds:[eax],0x0
0081C00C E8 AE010000 call <jmp.&user32.OpenClipboard>
0081C011 85C0 test eax,eax
0081C013 74 65 je short ZZZX添加.0081C07A
0081C015 53 push ebx
0081C016 55 push ebp
0081C017 56 push esi
0081C018 57 push edi
0081C019 E8 95010000 call <jmp.&user32.EmptyClipboard>
0081C01E 8B7424 1C mov esi,dword ptr ss:[esp+0x1C]
0081C022 83C9 FF or ecx,-0x1
0081C025 33C0 xor eax,eax
0081C027 8B3E mov edi,dword ptr ds:[esi]
0081C029 F2:AE repne scas byte ptr es:[edi]
0081C02B F7D1 not ecx
0081C02D 49 dec ecx
0081C02E 8BE9 mov ebp,ecx
0081C030 45 inc ebp
0081C031 55 push ebp
0081C032 6A 42 push 0x42
0081C034 E8 98010000 call <jmp.&kernel32.GlobalAlloc>
0081C039 8BD8 mov ebx,eax
0081C03B 85DB test ebx,ebx
0081C03D 74 32 je short ZZZX添加.0081C071
0081C03F 8B36 mov esi,dword ptr ds:[esi]
0081C041 53 push ebx
0081C042 E8 90010000 call <jmp.&kernel32.GlobalLock>
0081C047 8BCD mov ecx,ebp
0081C049 8BF8 mov edi,eax
0081C04B 8BD1 mov edx,ecx
0081C04D 53 push ebx
0081C04E C1E9 02 shr ecx,0x2
0081C051 F3:A5 rep movs dword ptr es:[edi],dword ptr ds>
0081C053 8BCA mov ecx,edx
0081C055 83E1 03 and ecx,0x3
0081C058 F3:A4 rep movs byte ptr es:[edi],byte ptr ds:[>
0081C05A E8 7E010000 call <jmp.&kernel32.GlobalUnlock>
0081C05F 53 push ebx
0081C060 6A 01 push 0x1
0081C062 E8 5E010000 call <jmp.&user32.SetClipboardData>
0081C067 8B4424 14 mov eax,dword ptr ss:[esp+0x14]
0081C06B C700 01000000 mov dword ptr ds:[eax],0x1
0081C071 E8 37010000 call <jmp.&user32.CloseClipboard>
0081C076 5F pop edi
0081C077 5E pop esi
0081C078 5D pop ebp
0081C079 5B pop ebx
0081C07A C3 retn
0081C07B 90 nop
0081C07C 8D4424 08 lea eax,dword ptr ss:[esp+0x8]
0081C080 83EC 0C sub esp,0xC
0081C083 50 push eax
0081C084 FF7424 14 push dword ptr ss:[esp+0x14]
0081C088 33C0 xor eax,eax
0081C08A 894424 08 mov dword ptr ss:[esp+0x8],eax
0081C08E 894424 0C mov dword ptr ss:[esp+0xC],eax
0081C092 894424 10 mov dword ptr ss:[esp+0x10],eax
0081C096 8D5424 08 lea edx,dword ptr ss:[esp+0x8]
0081C09A 52 push edx
0081C09B FFD3 call ebx
0081C09D 8B4424 0C mov eax,dword ptr ss:[esp+0xC]
0081C0A1 8B5424 10 mov edx,dword ptr ss:[esp+0x10]
0081C0A5 8B4C24 14 mov ecx,dword ptr ss:[esp+0x14]
0081C0A9 83C4 18 add esp,0x18
0081C0AC C3 retn
0081C0AD 55 push ebp
0081C0AE 8BEC mov ebp,esp
0081C0B0 68 04000080 push 0x80000004
0081C0B5 6A 00 push 0x0
0081C0B7 FF75 08 push dword ptr ss:[ebp+0x8]
0081C0BA 6A 01 push 0x1
0081C0BC BB 00E08100 mov ebx,0x81E000
0081C0C1 E8 B6FFFFFF call ZZZX添加.0081C07C
0081C0C6 C9 leave
0081C0C7 C2 0400 retn 0x4
0081C0CA 6A 00 push 0x0
0081C0CC 6A 00 push 0x0
0081C0CE E8 D4000000 call <jmp.&VMProtectSDK32.VMProtectGetCu>
0081C0D3 83F8 00 cmp eax,0x0
0081C0D6 0F84 B0000000 je ZZZX添加.0081C18C
0081C0DC 60 pushad //取当前地址,并查找零区起始位置
0081C0DD 9C pushfd
0081C0DE 33C9 xor ecx,ecx
0081C0E0 43 inc ebx
0081C0E1 41 inc ecx
0081C0E2 833B 00 cmp dword ptr ds:[ebx],0x0
0081C0E5 ^ 75 F9 jnz short ZZZX添加.0081C0E0
0081C0E7 81F9 00080000 cmp ecx,0x800
0081C0ED ^ 75 F1 jnz short ZZZX添加.0081C0E0
0081C0EF E8 00000000 call ZZZX添加.0081C0F4
0081C0F4 58 pop eax
0081C0F5 83C0 7A add eax,0x7A
0081C0F8 8D8B 00FFFFFF lea ecx,dword ptr ds:[ebx-0x100]
0081C0FE 8908 mov dword ptr ds:[eax],ecx
0081C100 83C0 06 add eax,0x6
0081C103 8D8B 00FFFFFF lea ecx,dword ptr ds:[ebx-0x100]
0081C109 8908 mov dword ptr ds:[eax],ecx
0081C10B 83C0 05 add eax,0x5
0081C10E 8D8B 00FEFFFF lea ecx,dword ptr ds:[ebx-0x200]
0081C114 8908 mov dword ptr ds:[eax],ecx
0081C116 83C0 0A add eax,0xA
0081C119 8D8B 00FEFFFF lea ecx,dword ptr ds:[ebx-0x200]
0081C11F 8908 mov dword ptr ds:[eax],ecx
0081C121 83C0 11 add eax,0x11
0081C124 8D8B 00FEFFFF lea ecx,dword ptr ds:[ebx-0x200]
0081C12A 8908 mov dword ptr ds:[eax],ecx
0081C12C 83E8 05 sub eax,0x5
0081C12F 8D8B 00FDFFFF lea ecx,dword ptr ds:[ebx-0x300]
0081C135 8908 mov dword ptr ds:[eax],ecx
0081C137 2D D2000000 sub eax,0xD2
0081C13C 8D8B 24F5FFFF lea ecx,dword ptr ds:[ebx-0xADC]
0081C142 8908 mov dword ptr ds:[eax],ecx
0081C144 05 1F070000 add eax,0x71F
0081C149 C700 D6D0B9FA mov dword ptr ds:[eax],0xFAB9D0D6 //此处开始可以定义弹窗标题。
0081C14F C740 04 C6AED4C>mov dword ptr ds:[eax+0x4],0xC6D4AEC6
0081C156 C740 08 B8F3A1B>mov dword ptr ds:[eax+0x8],0xBEA1F3B8
0081C15D C740 0C 504447A>mov dword ptr ds:[eax+0xC],0xA1474450
0081C164 C740 10 BF00000>mov dword ptr ds:[eax+0x10],0xBF //弹窗标题结束
0081C16B 9D popfd
0081C16C 61 popad
0081C16D A3 CAC78100 mov dword ptr ds:[0x81C7CA],eax
0081C172 FF35 CAC78100 push dword ptr ds:[0x81C7CA]
0081C178 68 CAC68100 push ZZZX添加.0081C6CA
0081C17D E8 25000000 call <jmp.&VMProtectSDK32.VMProtectGetCu>
0081C182 68 CAC68100 push ZZZX添加.0081C6CA
0081C187 E8 21FFFFFF call ZZZX添加.0081C0AD
0081C18C 6A 00 push 0x0
0081C18E 68 CAC58100 push ZZZX添加.0081C5CA
0081C193 68 CAC68100 push ZZZX添加.0081C6CA
0081C198 6A 00 push 0x0
0081C19A E8 1A000000 call <jmp.&user32.MessageBoxA>
0081C19F 6A 00 push 0x0
0081C1A1 E8 25000000 call <jmp.&kernel32.ExitProcess>
0081C1A6 CC int3
0081C1A7 - FF25 48D08100 jmp dword ptr ds:[<&VMProtectSDK32.VMPro>; VMProtec.VMProtectGetCurrentHWID //现在只需要手动修复以下函数地址就好了。
0081C1AD - FF25 E8765F00 jmp dword ptr ds:[<&user32.CloseClipboar>; user32.CloseClipboard
0081C1B3 - FF25 8C765F00 jmp dword ptr ds:[<&user32.EmptyClipboar>; user32.EmptyClipboard
0081C1B9 - FF25 C4705F00 jmp dword ptr ds:[<&user32.MessageBoxA>] ; user32.MessageBoxA
0081C1BF - FF25 1C755F00 jmp dword ptr ds:[<&user32.OpenClipboard>; user32.OpenClipboard
0081C1C5 - FF25 CC745F00 jmp dword ptr ds:[<&user32.SetClipboardD>; user32.SetClipboardData
0081C1CB - FF25 7C705F00 jmp dword ptr ds:[<&kernel32.ExitProcess>; kernel32.ExitProcess
0081C1D1 - FF25 C8715F00 jmp dword ptr ds:[<&kernel32.GlobalAlloc>; kernel32.GlobalAlloc
0081C1D7 - FF25 B8715F00 jmp dword ptr ds:[<&kernel32.GlobalLock>>; kernel32.GlobalLock
0081C1DD - FF25 A8715F00 jmp dword ptr ds:[<&kernel32.GlobalUnloc>; kernel32.GlobalUnlock