Автоматизация редактирования ASM кода
Материал из Perfect World Develop Wiki
Версия от 17:42, 7 сентября 2015; DesmondHume (обсуждение | вклад)
В данной статье рассматривается создание программы, которая автоматически изменяет часть кода в сервере для каких-либо целей. Работа программы построена на шаблонах (англ. pattern), задающих то, что следует заменить, и то, на что следует заменить. Для большего понимания рассмотрим пример:
- Входная строка
E9 2D 94 00 00 50 E9 4D 20 00 00
- Паттерн поиска
E9 ?? ?? ?? ?? 50 E9 ?? ?? ?? ??
- Паттерн замены
E9 ?? ?? ?? ?? 90 E9 ?? ?? ?? 01
- Выходная строка
E9 2D 94 00 00 90 E9 4D 20 00 01
Как видно, здесь отсутствуют оффсеты — это одна из положительных сторон использования паттернов. Таким образом, они делают программу независимой от версий (в пределах разумного, конечно).
Бла-бла-бла, статья еще пишется.
push eax