Всем привет, хочу узнать, как реализовать идею внедрения в программу своего пространства (секции кода, секции данных и тому подобное), пользуясь идой. мои действия: 1) Создал сегмент через Edit -> Create Segment. Редактировал его, дал права Read Write, Execute(на всякий) 2)Вписал в начало сегмента байты Код (Text): 49 6d 20 72 65 76 65 72 73 65 72 0 // ASCII строка 'Im reverser' 3)Пропатчил один из MsgBox'ов - поменял адрес аргумента на адрес начала моей секции. 4)Подтвердил байты (Edit -> patch program -> Apply patched to input file) Получил вот такой список недопатченных байтов в новом сегменте Спойлер: консолька 404000: has no file mapping (original: 00 patched: 49)...skipping... 404001: has no file mapping (original: 00 patched: 6D)...skipping... 404002: has no file mapping (original: 00 patched: 20)...skipping... 404003: has no file mapping (original: FF patched: 72)...skipping... 404004: has no file mapping (original: FF patched: 65)...skipping... 404005: has no file mapping (original: FF patched: 76)...skipping... 404006: has no file mapping (original: FF patched: 65)...skipping... 404007: has no file mapping (original: FF patched: 72)...skipping... 404008: has no file mapping (original: FF patched: 73)...skipping... 404009: has no file mapping (original: FF patched: 65)...skipping... 40400A: has no file mapping (original: FF patched: 72)...skipping... 40400B: has no file mapping (original: FF patched: 00)...skipping... Applied 4/16 patch(es) На этом моя попытка прервалась... Как решить данную ошибку?
Берёте рабочий загрузчик и дописываете его к модулю. Он всегда база-независим и интерактивен. Вы можете не парясь туда любой свой код засунуть, прежде не зная ничего о жертве.
Разве ida не совмещает в себе функции загрузчика? Иными словами, вы предлагаете создать сегмент другой программой, верно?