Я написал хот-патч для программы. Работает он так: запускает нужную программу, "патчит" ее память и сам завершается.
Мне бы хотелось, чтобы патч запускался автоматически при запуске этой нужной программы.
Появилась идея просто оформить патч в виде DLL, и добавить эту DLL в таблицу импорта EXE файла, а в секции инициализации просто запустить поток, который выполнит патч.
Подскажите сложно ли это сделать и как?
Спасибо.
P.S. Патч исправляет ошибку в программе (связанную в с деноминацией в Белоруссии). Никакого криминала.
Rou1997: Сомневаюсь. Это в UNIX так, а не в Windows. Положил рядом со своей программой левую библиотеку вместо системной, получил сообщение об ошибке загрузки библиотеки. Правда, имя почему-то выводится не системное, а от левой библиотеки.
Таблицу импорта пофиксить трудно. Нужно тщательно изучить формат PE, разобрать EXE-шник на части, добавить новую секцию перед секцией ресурсов, в которой сформировать новую таблицу импорта, оставив старые "Thunk RVA". Затем собрать заново пересчитав расположение каждой секции на диске. Но всё уже написано за Вас злобными вирмейкерами :), а Вы похоже даже не пытались найти такие утилиты. подсказываю Google: add dll to import