patсher_x86 |
Здравствуйте, гость ( Вход | Регистрация )
patсher_x86 |
21 Oct 2016, 13:41
(Сообщение отредактировал baratorch - 21 Oct 2016, 13:43)
Сообщение
#1
|
|
Immortal Сообщений: 2 412 Спасибо сказали: 4617 раз |
Патчер - это инструмент для модификации любого исполняемого кода (не только героев). Патчер делает модинг максимально стандартизованным, удобным и безопасным. А так же помогает достичь максимальной совместимости между несколькими независимо разрабатываемыми модификациями одного кода (пример - Хд, Хота и ХВ-рулз).
С хд и хотой поставляется уже патчер версии 4.2.2 в нем теперь нет понятия неотменяемого патча. появились методы WriteAsmPatch и WriteAsmHook, которые позволяют писать конструкции типа: Код _PI->WriteAsmHook(0x4F8662, "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); Так же в новом патчере практически устранена разница между Code и Data патчами. Т.е. Code патч всегда пишет код именно так как мы задумали, без неочевидных конвертаций относительных адресов. И еще ряд мелких правок и багфиксов. *** Кому-нибудь это вообще интересно? Расписывать ли мне здесь общую документацию, изменения и документацию к новому функционалу? Кто-нибудь, кроме меня, Сава и феанора еще пользуется патчером? feanor, тебе это интересно? Просто у меня весьма ограничено свободное время и совершенно не хочется его тратить впустую. На вог-форуме есть тема по патчеру, но, к сожалению, цель с которой я эту тему там создавал - не достигнута. Эра так и не встала на рельсы патчера. Берсу не до эры и тем более не до патчера, поэтому писать туда смысла не вижу. -------------------- |
|
|
Текстовая версия | Сейчас: 25 April 2024 - 12:35 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |