Сейчас на форуме: asfa, bartolomeo (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Пропатчить программу |
Посл.ответ | Сообщение |
|
Создано: 13 апреля 2012 18:51 · Поправил: esa_r · Личное сообщение · #1 Есть программка, написана на Визуал Васике. Бесплатная, но в каждой форме заблокирована кнопка "Закрыть". Жуть как неудобно. В коде каждой формы сидит функция DisableXbutton. Примерно вот такая: Code:
Собственно, занопить её проблем нет, но форм таких более 30. И программа периодически обновляется. Присоветуйте идею, как написать патчер, чтобы каждый раз нажатием заветной кнопочки сделать Disable этой треклятой DisableXbutton ). Я пробовал dup2-ом искать последовательность байт. Но там, где байты одинаковые для всех ф-ций, они встречаются и в других, которые патчить не надо. з ы языками владею ![]() |
|
Создано: 13 апреля 2012 23:44 · Личное сообщение · #2 |
|
Создано: 14 апреля 2012 12:36 · Личное сообщение · #3 |
|
Создано: 14 апреля 2012 13:04 · Личное сообщение · #4 |
|
Создано: 14 апреля 2012 15:07 · Поправил: BoOMBoX · Личное сообщение · #5 esa_r пишет: Собственно, занопить её проблем нет, но форм таких более 30. И программа периодически обновляется. патчить нужно еще и кучу файлов в папке mod, а так ничего сложного, коль уж кодить умеешь: находишь в кодовой секции файлов последовательность 8B 45 08 50 8B 10 FF 52 08 8B 45 FC 8B 4D EC Code:
поднимаешься выше: Code:
вычисляешь адрес процедуры, т.е. 0049C5BC и патчишь эту процедуру в начале на RET 0C: Code:
P.S. активизация кнопки "Х" чревата закрытием некоторых форм без активации главного окна проги, к примеру - при нажатии на кнопку "радиотехника" скрывается главное окно и появляется дочернее, так вот, при нажатии на кнопку "X" дочернее окно просто закроется, а главное окно так и останется скрытым. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Пропатчить программу |