Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 28 января!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

АРХИВ ФОРУМА eXeL@B
https://exelab.ru/f/

   

Skyer IDA и изменения в файле. Загрузил exe-file в IDA. Грузится долго....


Skyer IDA и изменения в файле. Загрузил exe-file в IDA. Грузится долго. Сделал какие-то изменения в файле. Как посмотреть потом, как это IDA отобразит? Если загружать файл заново, то это займёт очень много времени. Как сделать это быстрее?

Пытался найти ответ в хелпе ИДы, но что-то не увидел того, что мне надо.
Dragon :: Используй IDC скрипты, подгружай из файла по нужному адресу.

Skyer :: Что такое IDC скрипты и как их использовать?

Dragon :: IDC это скриптовый язык в IDA, с синтаксисом C. Вот пример для подгрузки из файла в базу.

auto file, B, I;

file = fopen(»(Имя файла)», «rb»);
for (I = 0; I ‹ (Размер файла); I++)
{B = fgetc(file);
PatchByte(‹адрес в базе IDA› + I, B);}

Надо нажать shift+F2, вписать в окно и выполнить.

Skyer :: auto file, B, I;

file = fopen(»(swos.exe)», «rb»);
for (I = 0; I ‹ (2 200 000); I++)
{B = fgetc(file);
PatchByte(cseg01:0001F4CD + I, B);}

Пишет «Missing brace».

Dragon :: Да имя файла в скобках писать не надо, а надо просто в кавычках полный путь(также \\ разделитель, правила C действуют). И адрес надо писать тогда 0x1F4Cd.

Skyer :: auto file, B, I;

file = fopen(«C:\\Мои документы\\Программы\\Игры\\swos\\swos.exe», «rb»);
for (I = 0; I ‹ (2 135 087); I++)
{B = fgetc(file);
PatchByte(0x1F4CD + I, B);}

То же самое - «Missing brace».

Dragon :: Не for (I = 0; I ‹ (2 135 087); I++)

а for (I = 0; I ‹ 2135087; I++)

Я же сказал, синтаксис как в C.

Skyer :: Спасибо! Работает. Но всё равно долго.

1). Как сделать так, чтобы он на экране размещал разметку от адреса до адреса? (а не от начала файла, как в твоём варианте).

2). После адреса 0x1F4CD он остальные байты отображает как FF. Можно ли сделать, чтобы он их вообще не показывал, и не тратил своё время на них?

Первый вопрос особенно интересует.

Dragon :: На второй вопрос могу сказать, что размер файла неправильно поставил, если достигнут конец, то все остальные байты читаются как 0xFF. А на счёт первого вопроса я толком не понял, что значит разметку от адреса до адреса? Т.е. не сначала файла читать чтоли?

Skyer :: Да, не сначала файла. Например, чтоб считал от 0x113EC до 0x114FD.

цитата:
На второй вопрос могу сказать, что размер файла неправильно поставил, если достигнут конец, то все остальные байты читаются как 0xFF.


Не понял, если честно. «Если достигнут конец» - конец чего? И что нужно сделать, чтобы этих 0XFF не было? Или так и должно быть?

Размер файла вроде верный.






   
Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS