Есть один двоичный файл. процессор Intel. В некоторой части кода ida решила что это данные , поскольку якобы увидела ссылку на них в другой части кода. Там действительно есть ссылка на такое же смещение, правда от сегмента ds. Попробовал undefine , потом code - не помогает
> Там действительно есть ссылка на такое же смещение, > правда от сегмента ds. подведи курсор к смещению и нажми ALT-R, появится диалог выбора сегмента, относительного которого это смещение адресовать > Попробовал undefine , потом code - не помогает подробности не помешают. "не помогает" это как? такое впечатление, что неправильно задан тип процессора (Options -> Processor Type) и она просто не знает этих команд
Внимательно проверь, что в куске для которого сделал undefine не осталось близких "вкраплений" ( idaw их синим подсвечивает). Я на днях этим занимался - приходилось по 2 раза undefine делать. А ссылки на эти data как-то благополучно сами рассосались
<font size=2>чтобы не плодить тем, тут спрошу</font><!--size--> 1. а как сделать дамп в бинарный файл выделенных строк в IDA-VIEW окне? 2. можно ли в этом же окне включить бинарное отображение дизасемблированных команд?
smax По поводу 1) можно с помощью idc скрипта: Код (Text): auto fp, ea; fp = fopen("dump.bin", "wb"); for ( ea=0x401000; ea < 0x406000; ea++ ) fputc(Byte(ea), fp); Только нужно жёстко указывать размеры ОТ и ДО, поэтому получается дамп не выделенных строк, а выбранных
Ну можно в общем-то и выделение брать. Код (Text): 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); }
reverser Что-то я не понял, это что ты в цикле fclose вызываешь? Да и вобще оно не нужно, файл и так закрывается автоматически после завершения работы скрипта.
Что-то я не понял, это что ты в цикле fclose вызываешь? Asterix, нет, ни в коем случае. Учи синтаксис С - в цикле for вызывается одна-единственная команда - fputc. fclose вызывается ПОСЛЕ. Тебе даже табуляцией показали положение дел. Такая табуляция безразлична для лексического анализатора, но человеку покажет, что к чему
reverser volodya Sorry, я не туда смотрел, что-то око мое затуманилось и я посчитал if началом цикла, а соответственно то что в {} телом, а цикл то у нас тут только for %)