С хд и хотой поставляется уже патчер версии 4.2.2
в нем теперь нет понятия неотменяемого патча.
появились методы WriteAsmPatch и WriteAsmHook, которые позволяют писать конструкции типа:
Код
_PI->WriteAsmHook(0x4F8662,
"push 1",
"call %d", Sleep,
"_ExecDefault",
0);
"push 1",
"call %d", Sleep,
"_ExecDefault",
0);
Код
_PI->WriteAsmPatch(0x59D715,
"MOVZX ESI,BYTE PTR DS:[EAX + EBX - 0x159]",
"MOV EAX, DWORD PTR DS:[EBX + 0x60]",
"TEST EAX,EAX",
"JNZ SHORT 0x59D72A",
"CMP DWORD PTR DS:[EBX + 0x74], 1",
"JE SHORT 0x59D735",
"CMP EAX, 1",
"JNZ SHORT 0x59D7A9",
"CMP DWORD PTR DS:[EBX + 0x74], 2",
"JNZ SHORT 0x59D7A9",
"PUSH DWORD PTR DS:[EBX + 0x6C]",
"PUSH DWORD PTR DS:[EBX + 0x68]",
"MOV ECX, DWORD PTR DS:[EBX + 0x64]",
"PUSH ESI",
"CALL 0x4E54B0",
"MOV ECX, DWORD PTR DS:[EBX + 0x64]",
"MOVSX ECX, WORD PTR DS:[ECX + 0x18]",
"CMP EAX, ECX",
"JG SHORT 0x59D762",
"MOV EDX, DWORD PTR DS:[EDI + 0x8]",
"MOVZX EAX, BYTE PTR DS:[EDX + EBX - 0x159]",
0);
"MOVZX ESI,BYTE PTR DS:[EAX + EBX - 0x159]",
"MOV EAX, DWORD PTR DS:[EBX + 0x60]",
"TEST EAX,EAX",
"JNZ SHORT 0x59D72A",
"CMP DWORD PTR DS:[EBX + 0x74], 1",
"JE SHORT 0x59D735",
"CMP EAX, 1",
"JNZ SHORT 0x59D7A9",
"CMP DWORD PTR DS:[EBX + 0x74], 2",
"JNZ SHORT 0x59D7A9",
"PUSH DWORD PTR DS:[EBX + 0x6C]",
"PUSH DWORD PTR DS:[EBX + 0x68]",
"MOV ECX, DWORD PTR DS:[EBX + 0x64]",
"PUSH ESI",
"CALL 0x4E54B0",
"MOV ECX, DWORD PTR DS:[EBX + 0x64]",
"MOVSX ECX, WORD PTR DS:[ECX + 0x18]",
"CMP EAX, ECX",
"JG SHORT 0x59D762",
"MOV EDX, DWORD PTR DS:[EDI + 0x8]",
"MOVZX EAX, BYTE PTR DS:[EDX + EBX - 0x159]",
0);
Так же в новом патчере практически устранена разница между Code и Data патчами. Т.е. Code патч всегда пишет код именно так как мы задумали, без неочевидных конвертаций относительных адресов.
И еще ряд мелких правок и багфиксов.
***
Кому-нибудь это вообще интересно?
Расписывать ли мне здесь общую документацию, изменения и документацию к новому функционалу?
Кто-нибудь, кроме меня, Сава и феанора еще пользуется патчером? feanor, тебе это интересно?
Просто у меня весьма ограничено свободное время и совершенно не хочется его тратить впустую.
На вог-форуме есть тема по патчеру, но, к сожалению, цель с которой я эту тему там создавал - не достигнута.
Эра так и не встала на рельсы патчера. Берсу не до эры и тем более не до патчера, поэтому писать туда смысла не вижу.