IPB

Здравствуйте, гость ( Вход | Регистрация )

> patсher_x86
baratorch
сообщение 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, тебе это интересно?
Просто у меня весьма ограничено свободное время и совершенно не хочется его тратить впустую.

На вог-форуме есть тема по патчеру, но, к сожалению, цель с которой я эту тему там создавал - не достигнута.
Эра так и не встала на рельсы патчера. Берсу не до эры и тем более не до патчера, поэтому писать туда смысла не вижу.


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post

Сообщений в этой теме
- baratorch   patсher_x86   21 Oct 2016, 13:41
- - Etoprostoya   А patcher_x64 сложно будет сделать?   21 Oct 2016, 14:10
|- - baratorch   Цитата(Etoprostoya @ 21 Oct 2016, 16:10) ...   21 Oct 2016, 16:43
- - igrik   Я пользуюсь патчером. И да - мне это интересно. Н...   21 Oct 2016, 14:18
- - XEPOMAHT   Теоретически не представляю как пользоваться patсh...   21 Oct 2016, 16:44
- - baratorch   XEPOMAHT, да, pather_x86 - это инструмент именно д...   21 Oct 2016, 16:55
|- - t800   Цитата(baratorch @ 21 Oct 2016, 19:55) XE...   21 Oct 2016, 17:39
|- - baratorch   Цитата(t800 @ 21 Oct 2016, 19:39) Здравст...   25 Oct 2016, 08:05
|- - t800   Цитата(baratorch @ 25 Oct 2016, 11:05) Ци...   25 Oct 2016, 21:43
|- - tolich   Цитата(t800 @ 25 Oct 2016, 21:43) Может я...   25 Oct 2016, 23:39
- - Etoprostoya   В составе Object File Converter есть дизассемблер ...   21 Oct 2016, 17:42
- - feanor   Цитатаfeanor, тебе это интересно? В принципе, инте...   21 Oct 2016, 17:52
- - baratorch   Положил на дропбокс патчер 4.2.3 (отличается от 4....   22 Oct 2016, 00:53
- - feanor   Лямбды, ня!   22 Oct 2016, 03:15
- - igrik   А в чем принципиальная разница Hi и Lo хуков? И ещ...   25 Oct 2016, 17:55
- - baratorch   ЦитатаА в чем принципиальная разница Hi и Lo хуков...   26 Oct 2016, 08:57
|- - igrik   Цитата(baratorch @ 26 Oct 2016, 08:57) Ци...   26 Oct 2016, 10:24
- - AlexSpl   ЦитатаПатчер - это инструмент для модификации любо...   17 Sep 2017, 20:25
|- - baratorch   Цитата(AlexSpl @ 17 Sep 2017, 22:25) Цита...   17 Sep 2017, 22:09
- - AlexSpl   Было бы очень здорово! Патчить вручную не само...   17 Sep 2017, 22:28
- - Berserker   ЦитатаНа вог-форуме есть тема по патчеру, но, к со...   08 Nov 2017, 16:38
- - baratorch   в патчере в мосте лоу-хука до сих пор портянка ком...   09 Nov 2017, 22:23
- - Berserker   Спасибо, старого файла хватит вполне, сам добавлю ...   10 Nov 2017, 23:33
- - baratorch   озадачился я вопросом скорости выполнения моста со...   11 Nov 2017, 16:13
- - Berserker   Привет, спасибо за тест . Удивлён несколько. Хотя ...   11 Nov 2017, 16:18
- - baratorch   Цитата(Berserker)Самый простой переходник:... Ну т...   11 Nov 2017, 16:49
- - Berserker   Странно, что я pushfd/popfd не добавил раньше. Есл...   11 Nov 2017, 18:08
- - Berserker   Пока что вылеты. Я так понимаю, как LoHook нет мет...   11 Nov 2017, 18:57
- - Berserker   Поскольку у Эры с плагинами тоже вопрос обратной б...   11 Nov 2017, 19:19
- - baratorch   Цитата(Berserker)Я так понимаю, как LoHook нет мет...   11 Nov 2017, 21:01
- - baratorch   переделал свой тест добавил в тестируемый код pus...   11 Nov 2017, 21:21
- - Berserker   Цитатаесли да, то такое нельзя сделать. Именно так...   11 Nov 2017, 23:35
- - baratorch   Цитатаадрес затёртого кода, хранимого в мосте: [за...   12 Nov 2017, 06:48
|- - Ben   Berserker, вы могли бы подсказать, как использоват...   12 Nov 2017, 10:11
- - Berserker   Бара, поделишься самой последней версией патчера, ...   12 Nov 2017, 12:32
|- - Ben   Цитата(Berserker @ 12 Nov 2017, 12:32) Вы...   12 Nov 2017, 13:34
- - Berserker   У Вас должна быть возможность подгружать свои библ...   12 Nov 2017, 14:40
|- - Ben   Спасибо ! Очень интересно !   12 Nov 2017, 14:56
|- - Ben   Цитата(Berserker @ 12 Nov 2017, 14:40) Да...   12 Nov 2017, 17:08
|- - Ben   Цитата(Berserker @ 12 Nov 2017, 14:40) Во...   13 Nov 2017, 10:22
- - Berserker   На здоровье! Успехов Вам )   12 Nov 2017, 15:55
- - feanor   ЦитатаСами плагины, видимо, могут загружаться либо...   13 Nov 2017, 14:08
- - Berserker   Ben, если речь идёт о системе плагинов, то использ...   13 Nov 2017, 16:08
- - baratorch   Здесь последний патчер версии 4.2.9.1, хэдер для C...   14 Nov 2017, 11:23
- - Berserker   Бара, есть возможность скомпилировать ту же DLL с ...   16 Nov 2017, 22:46
|- - Ben   Цитата(Berserker @ 16 Nov 2017, 22:46) Ба...   18 Nov 2017, 18:42
- - Berserker   В дополнение к предыдущему посту. Бара, ты использ...   19 Nov 2017, 13:51
- - baratorch   Berserker, в патчере целиком и полностью забито на...   19 Nov 2017, 21:25
- - Berserker   Понял, спасибо за разъяснения. Думаю, стоит это ук...   19 Nov 2017, 22:26
- - baratorch   ЦитатаА как насчёт map-файла? Можешь скомпилироват...   20 Nov 2017, 03:12
- - Berserker   Если что, как работает DIRECT_ не ясно из доков: D...   20 Nov 2017, 13:10
- - baratorch   В DIRECT_ HiHook наша замещающая функция должна 10...   20 Nov 2017, 15:09
- - baratorch   Патчер версии 4.3 + map-файл: скачать   22 Nov 2017, 16:07
- - Berserker   Бара, зацени: http://rgho.st/7pBPttP9k Кодinstanc...   24 Nov 2017, 23:36
- - hippocamus   Не вполне понимаю, что это значит, но ты, Берс, ви...   25 Nov 2017, 00:08
- - Berserker   Зачем же, если Эра их и так кушает? )) Скорее тепе...   25 Nov 2017, 03:13
- - igrik   baratorch, а как вообще отменять патчи/хуки, созда...   26 Sep 2018, 09:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25 April 2024 - 12:35
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика