Страница: 1 |
Страница: 1 |
Вопрос: Как изменить один exe-файл при помощи другого exe-
Добавлено: 02.05.08 00:08
Автор вопроса: Zahar | Web-сайт:
Имеется прога (exe-файл), в которой нужно при помощи другой проги изменить кое-какие заранее заданные параметры (например надпись в Label). Как это можно сделать при помощи другой проги.
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 02.05.08 00:49
Найти предварительно смещение нужной надписи в изменяемом файле, переместить туда указатель и записать что надо.
Номер ответа: 2
Автор ответа:
JacK
ICQ: 9580088
Вопросов: 13
Ответов: 1078
Web-сайт:
Профиль | | #2
Добавлено: 02.05.08 01:47
При этом данные на которые ты изменяешь должны быть равны изменяемым данным. Н-р, если надпись на лейбле 10 символов, то ты можешь заменить не больше 10 символов. А точнее ТОЛЬКО 10.
Может я не совсем правильно тебя понял, но если тебе надо просто сохранить параметры в ЕХЕшнике, тогда специально для тебя в примерах есть exeselfwrite.
Там показано как хранить данные в самом ЕХЕ.
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 02.05.08 02:11
Не есть истина. Размер новых данных не должен превышать размер старых.
Номер ответа: 4
Автор ответа:
JacK
ICQ: 9580088
Вопросов: 13
Ответов: 1078
Web-сайт:
Профиль | | #4
Добавлено: 02.05.08 02:28
хе хе...
Новые данные должны быть презаписаны полностью. Если новые данные меньше старых, недостачу рекомендуется занопать)
Номер ответа: 5
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #5
Добавлено: 02.05.08 11:13
Не занопить, а забить нулевыми быйтами в нашем случае. И если уж на то пошло, то здесь достаточно одного завершающего нулевого байта.
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 03.05.08 20:51
что есть "нопить"?
Номер ответа: 7
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #7
Добавлено: 04.05.08 00:28
NOP - no operation.
Команда процессора, которая ничего не делает, а просто увеличивает регистр EIP на 1.
Обычно, когда патчишь прогу в дебагере или hex-редакторе, и код получается меньше оригинала, то для удобства и правильности работы последующего кода оставшиеся ненужные байты заменяют на NOP (90h).