放个补丁测试。。
01001F1C 8B45 FC mov eax,dword ptr ss:[ebp-4]
01001F1F FFE0 jmp eax // eax=00B7B02C
需要改3处:
㈠
00AA2EAF /75 0A jnz short 00AA2EBB
改为:
00AA2EAF /EB 0A jmp short 00AA2EBB
㈡
00AA2F1C /75 0A jnz short 00AA2F28
改为:
00AA2F1C /EB 0A jmp short 00AA2F28
㈢
00AC97C8 /0F85 4C030000 jnz 00AC9B1A
改为:
00AC97C8 /E9 4D030000 jmp 00AC9B1A
00AC97CD |90 nop
补丁方法:
01001F1F改为
01001F1F /E9 DD010000 jmp Notepad.01002101
跳到01002101开始写补丁代码:
01002101 50 push eax
01002102 2D 7D810D00 sub eax,0D817D
01002107 C600 EB mov byte ptr ds:[eax],0EB
0100210A 83C0 6D add eax,6D
0100210D C600 EB mov byte ptr ds:[eax],0EB
01002110 05 AC680200 add eax,268AC
01002115 C600 E9 mov byte ptr ds:[eax],0E9
01002118 C640 01 4D mov byte ptr ds:[eax+1],4D
0100211C C640 02 03 mov byte ptr ds:[eax+2],3
01002120 C640 03 00 mov byte ptr ds:[eax+3],0
01002124 C640 04 00 mov byte ptr ds:[eax+4],0
01002128 C640 05 90 mov byte ptr ds:[eax+5],90
0100212C 58 pop eax
0100212D FFE0 jmp eax //写完补丁代码后再跳回原来的代码