|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 3, 2004 22:00:09 Есть один двоичный файл. процессор Intel. В некоторой части кода ida решила что это данные , поскольку якобы увидела ссылку на них в другой части кода. Там действительно есть ссылка на такое же смещение, правда от сегмента ds. Попробовал undefine , потом code - не помогает |
|
|
Дата: Сен 3, 2004 23:27:04 Если это не глюк Иды - значит, не код. Попробуйте посмотреть, как это место выглядит в отладчике. |
|
|
Дата: Сен 4, 2004 03:04:21 > Там действительно есть ссылка на такое же смещение, > правда от сегмента ds. подведи курсор к смещению и нажми ALT-R, появится диалог выбора сегмента, относительного которого это смещение адресовать > Попробовал undefine , потом code - не помогает подробности не помешают. "не помогает" это как? такое впечатление, что неправильно задан тип процессора (Options -> Processor Type) и она просто не знает этих команд |
|
|
Дата: Сен 4, 2004 10:12:40 . В некоторой части кода ida решила что это данные , поскольку якобы увидела ссылку на них в другой части кода. Внимательно проверь, что в куске для которого сделал undefine не осталось близких "вкраплений" ( idaw их синим подсвечивает). Я на днях этим занимался - приходилось по 2 раза undefine делать. А ссылки на эти data как-то благополучно сами рассосались :-) |
|
|
Дата: Сен 14, 2004 17:05:40 чтобы не плодить тем, тут спрошу 1. а как сделать дамп в бинарный файл выделенных строк в IDA-VIEW окне? 2. можно ли в этом же окне включить бинарное отображение дизасемблированных команд? |
|
|
Дата: Сен 14, 2004 17:19:13 smax Написать плагин ;-) хотя может уже есть такой.. |
|
|
Дата: Сен 14, 2004 17:45:09 2. можно ли в этом же окне включить бинарное отображение дизасемблированных команд? Options-General-Disassembly-Number of opcode bytes |
|
|
Дата: Сен 14, 2004 17:48:33 можно ли в этом же окне включить бинарное отображение дизасемблированных команд? options->general->opcode bytes |
|
|
Дата: Сен 15, 2004 18:52:13 smax По поводу 1) можно с помощью idc скрипта: auto fp, ea;
fp = fopen("dump.bin", "wb");
for ( ea=0x401000; ea < 0x406000; ea++ )
fputc(Byte(ea), fp);
Только нужно жёстко указывать размеры ОТ и ДО, поэтому получается дамп не выделенных строк, а выбранных ;-) |
|
|
Дата: Сен 15, 2004 19:10:27 Только нужно жёстко указывать размеры ОТ и ДО, поэтому получается дамп не выделенных строк, а выбранных ;-) Ну можно в общем-то и выделение брать.
auto fp, ea;
fp = fopen(AskFile(1,"dump.bin","Save selected bytes"), "wb");
if (fp)
{
for ( ea=SelStart(); ea <=SelEnd(); ea++ )
fputc(Byte(ea), fp);
fclose(fp);
}
|
|
|
Дата: Сен 15, 2004 19:41:27 reverser Что-то я не понял, это что ты в цикле fclose вызываешь? Да и вобще оно не нужно, файл и так закрывается автоматически после завершения работы скрипта. |
|
|
Дата: Сен 15, 2004 19:49:55 Что-то я не понял, это что ты в цикле fclose вызываешь? Asterix, нет, ни в коем случае. Учи синтаксис С - в цикле for вызывается одна-единственная команда - fputc. fclose вызывается ПОСЛЕ. Тебе даже табуляцией показали положение дел. Такая табуляция безразлична для лексического анализатора, но человеку покажет, что к чему :) |
|
|
Дата: Сен 15, 2004 19:56:32 reverser volodya Sorry, я не туда смотрел, что-то око мое затуманилось и я посчитал if началом цикла, а соответственно то что в {} телом, а цикл то у нас тут только for %) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.196 |