изменение кода программы

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
sunyun
Сообщения: 5
Зарегистрирован: 24 мар 2009, 10:37

Добрый день.
подскажите как изменить 3 текстовых символа в программе (EXE файл)на 20 символов?
я так понимаю что нужно и изменять размер самой программы.
как это сделать корректно.
программа написана на Borland Delphi 7, исходника нет.
Спасибо
BBB
Сообщения: 1298
Зарегистрирован: 27 дек 2005, 13:37

sunyun, боюсь, что изменить три на двадцать - не судьба.
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Корректнее будет поменять ссылку на этот текст, на ссылку в другое место, где и будет ваш текст. Для этого
1) берем дизассемблер, например мне нравится IDA Pro 5
2) после дизассемблирования находим этот текст (это просто сделать через окно "strings"
3) делаем "find xref to" для этого текста, чтобы найти места, которые ссылаются на этот текст и запоминаем адреса этих команд. Обычно их очень немного и не привышает 5-7 если текст не уникален.
4) ищем любое свободное неиспользуемое место, благо такого в программах на D7 очень много, выбираем понравившийся нам адрес.
5) если ЕХЕ не сжатый, по смещению в файле (зависит от базовых адресов сегментов) меняем ссылки по запомненым адресам на адрес введенного нами текста. Не забываем про представление строк в D7

Это если делать по уму, для всего этого необходимо руки, голова, знание представления целых чисел в памяти, знание представления строк в дельфи и хотя бы небольшие знания об организации памяти процессов и структуры EXE файла
It's a long way to the top if you wanna rock'n'roll
Ответить