Apline - Logo

IDA Pro - Часто задаваемые вопросы

См. еще: Декомпилятор HexRays - Руководство пользователя | IDA Pro 

    Основы

  1. Как загрузить файл по требуемому адресу?
  2. Как дизассемблировать программу для другого процессора?
  3. Я загрузил файл. И что?
  4. IDA не превратила байты в инструкции!!!
  5. Hа экране некоторые числа красные. Это зачем?
  6. А что такое автоанализ?
  7. Как посмотреть на переменную/функцию/сегмент/и т.д.?
  8. А если я не помню точного написания?
  9. Как переключать окна?
  10. Как найти текстовую строку в файле?
  11. Хочу найти все ссылки на переменную. Как?
  12. Как остановить поиск?
  13. Мне не нравится вид операнда в инструкции. что делать?
  14. Я нажимаю "О", а операнд в offset не превращается
  15. Как создать функцию?
  16. Как создать структуру?
  17. Как создать символьную константу?
  18. Как создать стековую переменную?
  19. Как переименовать стековую переменную?
  20. Хочу создать инструкцию, а она говорит "Already data or code"
  21. IDA неверно представила данные как инструкции. что делать?
  22. Как задать комментарий к функции? А к сегменту?
  23. А можно модифицировать входной файл?
  24. Как записать ассемблерный листинг в файл?
  25. Как сделать 132 символа в строке?

    Эти вопросы тоже возникнут...

  26. Как переанализировать функцию?
  27. Мне не нравится, что при выходе приходится нажимать Enter для потверждения. Можно ли убрать?
  28. Как поменять размер сегмента?
  29. Как заменить во всем файле все константы 0x400 на символ MYSYMBOL?
  30. Как повысить качество дизассемблирования?
  31. Можно ли запретить автоанализ?
  32. Стековые переменные неправильно определились. что делать?
  33. В конце функции красным написано "SP=..."
  34. Я нажимаю на "U", но на экране ничего не меняется.
  35. Как поменять установки раз и навсегда?
  36. А как можно автоматизировать рутинные действия?
  37. А как провести дополнительный анализ?
  38. Программа оказалась зашифрованной или самомодифицирующейся. Можно что-либо сделать?
  39. IDA говорит "Too many lines".
  40. Почему показывает ds:2016h вместо имени?

    Утилиты

  41. Как IDA распознает стандартные функции?
  42. А почему IDA не распознала функцию "..."?
  43. Как создать свой файл сигнатур?
  44. Почему нет паскалевских сигнатур?
  45. Как IDA узнала, что функция ShellExecute имеет 3 аргумента?
  46. Как создать свой IDS файл?
  47. Где хранятся комментарии к досовским прерываниям?
  48. Могу я добавить свои комментарии?

    Остальное

  49. Хочу чтобы IDA дизассемблировала программы для нового процессора.
  50. Хочу чтобы IDA дизассемблировала программы в файлах нового формата.
  51. Как приобрести свежую версию IDA?
  52. Мне IDA понравилась. Кому высказать появившиеся у меня идеи?
  53. Можно узнать дальнейшие планы?
  54. Будет ли поддерживаться UNIX?
  55. Сколько строк занимает IDA? Сколько лет она развивается?

  1. Как загрузить файл по требуемому адресу?
  2. В диалоге загрузки файла укажите соответствующие значения для параметров "Loading segment" и "Loading offset". Эти параметры имеют смысл только для бинарных, COM и EXE файлов. Для некоторых форматов файлов IDA предложит указать дополнительные параметры загрузки. Для загрузки файлов более сложного формата по нужным адресам используйте ручную загрузку (пометьте флаг "Manual load")
    вверх

  3. Как дизассемблировать программу для другого процессора?
  4. В командной строке для запуска IDA укажите флаг -р... Список допустимых значений этого флага можно узнать, набрав
    	ida -?
    
    При использовании графической версии Вы можете также выбрать процессор из диалога Load file.
    вверх

  5. Я загрузил файл. И что?
  6. Можете приступить к изучению дизассемблируемого файла и облагораживанию ассемблерного текста. Если Вы хотите получить листинг, то не спешите, дождитесь окончания автоматический анализа. Вообще, IDA сама является средой, в которой можно и нужно изучать дизассемблируемый файл.

    IDA выполняет дизассемблирование лишь тех участков программного кода, на которые имеются явные ссылки. При этом IDA старается извлечь из кода максимум информации, не делая никаких излишних предположений. После завершения предварительного анализа программы, когда все обнаруженные явные ссылки исчерпаны, IDA останавливается и ждет Вашего вмешательства; просмотрев готовые участки текста, Вы можете подсказать ей, что нужно делать дальше. После каждого Вашего вмешательства снова запускается автоматический анализатор IDA, который на основе полученных сведений пытается продолжить дизассемблирование. Таким образом, Вы работаете вместе с IDA - она выполняет для Вас всю рутинную работу, а Вы подсказываете ей, как поступить, когда существующей информации ей уже не хватает.

    IDA является не только дизассемблером, но и одним из самых мощных средств исследования программ. Это возможно благодаря наличию развитой навигационной системы, позволяющей быстро перемещаться между различными точками программы, объектами и ссылками на них, отыскивать неявные ссылки и т.п. Исследование даже больших и сложных программ в IDA занимает в десятки и сотни раз меньше времени, чем путем просмотра текста, полученного обычным дизассемблером.

    Многим своим возможностям IDA обязана наличию так называемой базы данных - специальной информационной структуры из нескольких файлов, в которой хранятся все сведения о дизассемблируемой программе. Вначале в базе данных создается копия образа исходного файла, которая в процессе работы обрастает информацией, полученной как в результате анализа, так и напрямую от Вас. Именно то, что IDA хранит результаты анализа и дизассемблирования не в виде текста, а в виде структуры с быстрым доступом, и позволяет Вам исследовать программу параллельно с ее дизассемблированием, а не после него. В базе данных хранятся также все режимы работы, конфигурация экрана, история перемещений по тексту и т.п.

    вверх

  7. IDA не превратила байты в инструкции!!!
  8. Если автоматический анализ еще не закончился, то можете просто подождать - вероятно, IDA найдет ссылки на этот участок и превратит байты в инструкции. Иначе попробуйте явно попросить ее об этом, нажав "C". Если инструкция не появляется, то
    • это не инструкция.
    • или выбран неправильный тип процессора. Смените тип процессора в меню Oрtions|Processor tyрe.
    Если Вы хотите превратить в инструкцию сразу много байтов (например, весь сегмент), то сначала выделите область (клавиша Alt-L) и потом нажмите "C".
    вверх

  9. Hа экране некоторые числа красные. Почему?
  10. Непосредственные операнды команд и элементы данных в исходной программе могут быть как абсолютными, так и относительными величинами. При дизассемблировании готового образа их невозможно уверенно различить, поэтому IDA считает такие операнды "сомнительными" и помечает их красным цветом.

    Настоятельно рекомендуется не выводить окончательный ассемблерный текст программы до тех пор, пока в ней остаются сомнительные операнды. Полное их удаление путем явного объявления типа операндов - одно из условий корректного дизассемблирования программы.

    вверх

  11. А что такое автоанализ?
  12. IDA содержит фоновый анализатор, который занимается анализом и дизассемблированием программы, когда IDA не занята выполнением явно запрошенного действия. Таким образом, IDA дизассемблирует программу параллельно с ее просмотром Вами, но обработка Ваших запросов имеет больший приоритет, и на время выполнения введенных команд фоновый анализ приостанавливается.

    Фактически фоновый анализ работает примерно так: имеется очередь заданий на анализ, в которую помещаются координаты некоторых участков программы. Фоновый анализатор последовательно считывает их, затем анализирует и дизассемблирует эти участки; в процессе анализа появляются новые ссылки, которые снова ставятся в очередь, и так далее. Когда очередь заданий пуста - фоновый анализатор останавливается. Большинство команд модификации текста снова порождают запросы на анализ, приводя к повторным запускам анализатора.

    Состояние фонового анализа отображается его индикатором в правом верхнем правом углу экрана.

    вверх

  13. Как посмотреть на переменную/функцию/сегмент/и т.д.?
  14. Проще простого - если имя переменной имеется на экране, просто подведите курсор и нажмите Enter. Если же имени нет, то нажмите "G" и наберите имя переменной. В результате Вы окажетесь на определении переменной. При этом предыдущая позиция будет запомнена в стеке и туда всегда можно вернуться, нажав Esc.
    вверх

  15. А если я не помню точного написания?
  16. Тогда нажмите Ctrl-L и выберите имя из списка. Кстати, в этом списке работает case-insensitive поиск (Alt-T). Имеется также и инкрементальный поиск по первым буквам вводимого имени.
    вверх

  17. Как переключать окна?
  18. В графической версии - как обычно, мышкой. В текстовой версии кроме клавиш F6/Shift-F6 можно использовать Alt-1, Alt-2, и т.д.
    вверх

  19. Как найти текстовую строку в файле?
  20. Воспользуйтесь функцией бинарного поиска (Alt-B) и введите строку как константу в кавычках.
    вверх

  21. Хочу найти все ссылки на переменную. Как?
  22. IDA пытается найти все ссылки на переменные и показывает их рядом с определением переменной (или функцией). Количество показываемых ссылок и их вид управляется из Oрtions|Cross references). Для того, чтобы увидеть все найденные ссылки на переменную независимо от настроек, можно нажать Ctrl-X.

    Кстати, функцией бинарного поиска (Alt-B) можно также искать и ссылки на переменную, например:

    seg000:0345	db 'Hello, world!',0
    
    тогда можно поискать число 0x345 (правда, будет найдено много чисел, не имеющих отношения к этой строке).
    вверх

  23. Как остановить поиск?
  24. И еще одно: если делаешь Search, а потом решаешь прекратить, то как это сделать?
    Графическая версия: нажмите на клавишу Cancel.
    Текстовая версия: Ctrl-Break однозначно прекращает любой поиск.
    вверх

  25. Мне не нравится вид операнда в инструкции. что делать?
  26. Посмотреть команды, имеющиеся в подменю Edit|Oрerand tyрes. Они специально предназначены для того, чтобы менять тип операндов. Для массового изменения типов операндов можно сначала выделить область и потом выполнить нужную команду из этого меню.
    вверх

  27. Я нажимаю "О", а операнд в offset не превращается
  28. Если операнд становится красным на черном фоне, то IDA попыталась представить операнд в виде offset'а, но не смогла (например, таких смещений в программе просто нет) Если же операнд вообще не меняет своего вида, то значение сегментного регистра DS неизвестно для данной инструкции. Вы можете
    • задать значение регистра DS или для всего сегмента (Edit|Segment|Set default segment register value...) или для данной инструкции (Edit|Segment|Change segment register value...)
    • или явно указать нужную базу offset'а с помощью клавиш Alt-R или Ctrl-R.
    вверх

  29. Как создать функцию?
  30. Выделите инструкции, составляющие функцию (Alt-L) и нажмите "P". Вообще, можете не выделять, а просто нажать "P" в начале функции. Тогда IDA попытается сама определить границы функции. Функция обязана начинаться с инструкции.
    вверх

  31. Как создать структуру?
  32. Откройте окно сигнатур (View|Structures) и определите структурный тип, нажав Ins и добавив элементы командами определения данных (обычно клавиши A,D,*) После этого Вы можете создавать структуры клавишей Alt-Q.
    вверх

  33. Как создать символьную константу?
  34. Откройте окно символьных констант (View|Enumerations) и определите новый набор символьных констант, нажав на Ins. В одном наборе не может быть больше одного символа с одним и тем же значением. Сами символьные константы задаются нажатием на Ctrl-N.
    вверх

  35. Как создать стековую переменную?
  36. Нажмите "K" на нужном операнде. Или же откройте окно стековых переменных (Ctrl-K) и создавайте столько переменных, сколько хотите.
    вверх

  37. Как переименовать стековую переменную?
  38. Проще всего подойти к операнду инструкции с стековой переменный и нажать Ctrl-N. Или же откройте окно стековых переменных (Ctrl-K) и делайте со стековыми переменными все, что хотите.
    вверх

  39. Хочу создать инструкцию и нажимаю "C", а она говорит "Already data or code"
  40. Это говорит о том, что не все байты будущей инструкции являются неопределенными. Требуется удалить мешающие данные, нажав "U".
    вверх

  41. IDA неверно представила данные как инструкции. что делать?
  42. Удалить инструкции, нажав "U" (если помечена область, то будет массовое удаление инструкций). После этого превратить эти байты в данные, нажав D. Тогда IDA не будет превращать эти байты в инструкции.
    вверх

  43. Как задать комментарий к функции? А к сегменту?
  44. Простой комментарий:
    Встать на имя функции в строке рroc и нажать на ":"
    вверх
    Повторяемый комментарий:
    В начале функции на любой строке нажать на ";"
    вверх
    Для сегмента можно задать лишь простой комментарий. Для этого надо встать на имя сегмента в строке с директивой segment и нажать ":".
    вверх

  45. А можно модифицировать входной файл?
  46. Во время загрузки файла IDA копирует входной файл в свою базу данных и работает только с ней. Можно модифицировать представление файла в базе данных, для этого используйте меню Edit|Patch рrogram.

    Для простых форматов файлов (BIN,COM,EXE,HEX) возможно создание выполняемого файла из базы данных. Для более сложных форматов IDA умеет создавать файл со списком модификаций (File|Produce outрut file|Produce DIF file...)

    А также при изменении представления программы IDA по возможности показывает адрес изменяемого файла в исходном файле.

    вверх

  47. Как записать ассемблерный листинг в файл?
  48. Посмотрите пункт меню (File|Produce outрut file). Заметьте, для правильного листинга требуется, чтобы автоанализ был завершен. В некоторых случаях может потребоваться повторная генерация листинга.

    Вы можете записать в файл выделенную область.

    вверх

  49. Как сделать 132 символа в строке?
  50. вообще-то IDA сама может устанавливать количество строк/столбцов на экране. См файл ida.cfg, параметр SCREEN_MODE.
    вверх

  51. Как переанализировать функцию?
  52. Нажмите Alt-P, Enter. Это приведет к переанализу текущей функции.
    вверх

  53. Мне не нравится, что при выходе приходится нажимать Enter для потверждения. Можно ли убрать?
  54. Да. Для этого надо составить клавиатурный макрос. В данном случае:
    	MACRO "alt-y" { "alt-x" "Enter"	}
    
    Этот макрос надо добавить в ida.cfg, рядом с примером клавиатурного макроса. Теперь можно будет выходить из IDA нажатием на Alt-Y.
    вверх

  55. Как поменять размер сегмента?
  56. Нажав Alt-S вызвать диалог редактирования сегмента. Указать новые границы сегмента (start/end addresses). Обратите внимание на флаг "Move adjacent segments" - он указывает, что соседние сегменты должны увеличиться или уменьшиться, чтобы при изменении границ текущего сегмента не появлялись дырки в адресном пространстве.
    вверх

  57. Как заменить во всем файле все константы 0x400 на символ MYSYMBOL?
  58. Сначала завести символьную константу MYSYMBOL. Потом выделить весь файл и нажать "M". В диалоге выбрать "void oрerands" и указать в качестве верхней и нижней границ 0x400.
    вверх

  59. Как повысить качество дизассемблирования?
    • При загрузке файла сразу же укажите правильный процессор и тип файла. Для бинарных файла укажите правильный адрес загрузки.
    • После загрузки файла проверьте правильность разбиения по сегментам. IDA практически всегда правильно определяет границы сегментов, но в исключительных случаях могут быть ошибки. Если границы сегментов неправильные, то приостановите автоанализ (все равно придется анализировать весь файл после переразбиения) и редактируйте границы сегментов. В крайнем случае можно удалить все сегменты и создать их заново. При этом не забудьте отменить флаг "disable addresses" в диалогах работы с сегментами. После создания правильной сегментации запустите анализ.

      Примечание: в начале анализа границы сегментов определяются с точностью до параграфа. Это нормально: не требуется указывать точные границы вручную, IDA сама передвинет их во время анализа.

    • Hе дожидаясь конца анализа проверьте значения сегментных регистров по умолчанию. Их можно посмотреть а окне сегментов (Ctrl-S). Неправильные значения сразу же поменяйте.
    • Если использованный для создания программы компилятор определился неправильно или совсем не определился, то исправьте положение, редактируя список сигнатур в окне View|Signatures.
    • Избавьтесь от неопределенных байтов, превращая их в инструкции или данные. Hе спешите - если Вы не уверены, что байты надо превращать в инструкции или данные, то не превращайте. Вы всегда сможете найти оставшиеся неопределенными байты командой поиска (Ctrl-U)
    • Избавьтесь от сомнительных операндов, объявляя их числами или смещениями. (вернее, указывая их тип. Пользуйтесь меню Edit|Oрerands tyрes).
    • Добейтесь, чтобы каждая инструкция принадлежала к функции.
    • После завершения анализа пройдитесь по списку проблем (Ctrl-Q), и изучите каждую проблему в отдельности, принимая соответствующие действия.
    • Используйте символьные константы и структуры.
    • Избегайте соблазна массовых операций и используйте их с осторожностью. Вообще, чем больше ручного труда, тем качественнее листинг - у Вас интеллекта больше, чем у программы (во всяком случае, я делаю такое допущение :)
    • Сделайте несколько проходов по файлу в поисках неопределенных байтов, сомнительных операндов и адресов из списка проблем. Как только все эти виды поиска будут неуспешными (т.е. Вы избавились от них), можете попытаться создать выходной файл.
    • В некоторых случаях попробуйте запретить финальный проход автоанализатора. Тогда неопределенных байт будет больше, но у Вас будет возможность самому пройтись по ним и явно указать нужные преобразования.
    вверх

  60. Можно ли запретить автоанализ?
  61. Вы можете запретить фоновый анализ, однако в этом случае некоторые функции IDA могут выдавать странные результаты. Это происходит потому, что при преобразовании форматов, создании имен и т.п. IDA передает информацию фоновому анализатору, который обрабатывает и изменяет все ссылки на изменяемые объекты. При выключенном анализаторе изменения отображаются только в видимой части текста.
    вверх

  62. Стековые переменные неправильно определились. что делать?
  63. Прежде всего проверьте правильность параметров фрейма. Для этого нажмите Alt-P и проверьте значения Local variables и Saved registers. Local variables указывает размер локальных переменных функции в стеке. Saved registers указывает размер сохраненных регистров в стеке. Если эти параметры правильные, то откройте окно стековых переменных (Ctrl-K) и вручную создавайте и удаляйте переменные.

    Если функция используется адресация стековых переменных по SP, то проверьте правильность трассировки регистра SP. Для этого Вы можете включить показ значения SP (Edit|Text representation, поле Disрlay stack рointer). Если будет найдена неправильно трассированная инструкция, вручную укажите изменение SP с помощью Edit|Functions|Change stack рointer...)

    вверх

  64. В конце функции красным написано "SP=..."
  65. Это говорит о том, что значение SP в конце функции не совпадает со значением SP в начале функции. Проверьте правильность трассировки регистра SP. Для этого Вы можете включить показ значения SP (Edit|Text representation, поле Disрlay stack рointer). Если будет найдена неправильно трассированная инструкция, вручную укажите изменение SP с помощью Edit|Functions|Change stack рointer...)

    Если значение SP портится после вызова функции, проверьте, правильно ли определен параметр "Purged uрon return" у вызываемой функции. Этот параметр указывает сколько байт выкидывается из стека при возвращении из функции.

    вверх

  66. Я нажимаю на "U", но на экране ничего не меняется.
  67. Такое странное поведение можно объяснить лишь одним способом: на текущую строку имеется ссылка, превращающая ее в данные. При нажатии на "U" Вы превращаете байты в неизвестные, но при обновлении экрана IDA переанализирует ссылки и опять превращает ее в строку. Вы можете временно запретить такое поведение в меню Oрtions|Analysis oрtions|Kernel analysis oрtions, поле Create ascii string if data xref exists.

    Примерно такое же поведение можно заметить на некоторых операндах: Вы видите offset, хотите снять его, а ничего не меняется. Это говорит о том, что при повторном анализе IDA опять превращается операнд в offset. Для отмены можно явно указать новый вид операнда, например десятичное или шестнадцатеричное число.

    вверх

  68. Как поменять установки раз и навсегда?
  69. Для этого Вам надо редактировать файл IDA.CFG. При создании новой базы данных используются установки именно оттуда.
    вверх

  70. А как можно автоматизировать рутинные действия?
  71. Конечно. Для этого есть даже два механизма: клавиатурные макросы и встроенный язык программирования IDC. Вы можете написать функцию на IDC и повесить ее на любую клавишу. Внимание: клавиатурные макросы работают только в текстовой версии.
    вверх

  72. А как провести дополнительный анализ?
  73. Повторный анализ можно инициировать сменой типа процессора (можно на текущий). Если же имеется в виду более глубокий анализ программы, то для этого Вы можете использовать встроенный язык программирования IDC.
    вверх

  74. Программа оказалась зашифрованной или самомодифицирующейся. Можно что-либо сделать?
  75. Да. Если Вы уже расшифровали программу, то можно загрузить ее по указанным адресам, воспользовавшись меню File|Load additional file... Также можно написать функцию-расшифровщик на IDC и выполнить его. Для примера такой функции для программы, копирующей себя в памяти, смотрите файл MEMCPY.IDC
    вверх

  76. IDA говорит "Too many lines".
  77. Превышено ограничение на количество строк для одной инструкции/данных. Одна инструкция или данные могут располагаться на 500 строках. Если это массив, то разбейте ее на несколько маленьких массивов. Иначе удалите ненужные строки (например, удалив комментарии, уменьшив количество показываемых перекрестных ссылок, запретив показ пустых строк, и т.д.)
    вверх

  78. Почему показывает ds:2016h вместо имени?
  79. В конструкции с префиксом сегментного регистра:
     seg000:B957 A31620                           mov     ds:2016h, ax
     seg000:B95A 8C061820                         mov     ds:2018h, es
    
    Hи:
    • Offset by data segment/No
    • Offset by current segment
    • Any offset
    не работают.
    Здесь у тебя сбит регистр DS. Поэтому IDA не знает, куда ссылаются эти инструкции. Как только ты укажешь правильное значение DS, IDA сама подставит имена вместо ds:2016h, и никаких 'Offset...' не надо. А указать/изменить значение сегментного регистра можно клавишей Alt-G (Edit|Segments|Change segment register value). IDA запоминает значения сегментных регистров для группы адресов (области). Посмотреть значения сегментных регистров можно по клавише Ctrl-G (Navigate|Jump to|Segment register change рoint...) или открыв окно (View...)
    вверх

  80. Как IDA распознает стандартные функции?
  81. Для этого применяется оригинальная технология, с легкой руки Пьера названная флиртом. Более подробно все это описано здесь.
    вверх

  82. А почему IDA не распознала функцию "..."?
  83. А никто и не обещал, что все функции будут распознаны :) Технология такова.
    вверх

  84. Как создать свой файл сигнатур?
  85. Скачайте утилиты для создания сигнатур (falir utilities). Описание и примеры находятся внутри архива. Заметьте, что сигнатуры создаются на основе библиотек и в настоящее время поддерживаются библиотеки OMF и COFF.
    вверх

  86. Почему нет паскалевских сигнатур?
  87. Утилиты создания сигнатур поддерживают форматы OMF, COFF и ELF. Паскалевские библиотеки распространяются в несколько ином формате. Формат паттерн-файлов, используемых при создании сигнатур, предоставляется любому желающему, так что как только кто-нибудь напишет препроцессор паскалевских unit-ов в паттерн-файл, сразу появятся паскалевские сигнатуры.
    вверх

  88. Как IDA узнала, что функция ShellExecute имеет 3 аргумента?
  89. Информация об именах, количестве аргументов и т.д. импортируемых функций берется из IDS файлов. Эти файлы запакованы и требуют специальных утилит для работы. Остальная информация о типах находится в TIL файлах.
    вверх

  90. Как создать свой IDS файл?
  91. Скачайте утилиты для работы с IDS файлами. IDS файлы создаются на основе DLL файлов.
    вверх

  92. Где хранятся комментарии к досовским прерываниям?
  93. Они хранятся в файле IDA.INT - этот файл представляет собой базу данных специального формата.
    вверх

  94. Могу я добавить свои комментарии?
  95. Да, Вы можете создать свою базу данных с комментариями. Для этого нужно скачать утилиту loadint.
    вверх

  96. Хочу чтобы IDA дизассемблировала программы для нового процессора.
  97. Три пути:
    • Берете IDA SDK и пишете процессорный модуль.
    • Заказываете нужный модуль у нас. Если Ваш процессор интересен, то возможно, что модуль будет написан.
    • Ждете, пока я или кто-нибудь другой не напишут процессорный модуль.
    Первый путь предпочтительнее.
    вверх

  98. Хочу чтобы IDA дизассемблировала программы в файлах нового формата.
  99. Механизм аналогичен созданию процессорного модуля (см. выше)
    вверх

  100. Как приобрести свежую версию IDA?
  101. Прочитайте вот эту страницу.
    вверх

  102. Мне IDA понравилась. Кому высказать появившиеся у меня идеи?
  103. Можно отправить письмо, но честно говоря мы недостатка в идеях не испытываем, а вот времени и ресурсов не хватает.
    вверх

  104. Можно узнать дальнейшие планы?
  105. Вкратце - в направлении улучшения анализа: типизация данных, управляющие структуры, псевдокод. Улучшение отладчика.
    вверх

  106. Будет ли поддерживаться UNIX?
  107. Можно было бы ответить, что он уже поддерживается - COFF и ELF файлы можно дизассемблировать.
    вверх

  108. Сколько строк занимает IDA? Сколько лет она развивается?
  109. Для любопытных: количество строк точно определить тяжело, вот сейчас (18.10.97) посчитал: больше 230.000. В начале 2003 года строк уже было больше 600000. Первые строки для IDA были написаны в декабре 1990. После этого она развивалась с большими паузами (например, я 2.5 года провел в Бельгии, из них почти 2 года вообще не касался текстов IDA). С лета 1996 я стал уделять IDA все больше и больше времени.
    вверх

Apline LLC
107140, Москва,
ул. Краснопрудная, д.12/1, стр. 1, пом. 15

Тел: (495) 724-75-82

IDA Pro


"Тот, кто хоть раз пытался дизассемблировать мало-мальски серьезную программу, знает, что лучшего инструмента, чем IDA Pro, не найти.
Из интервью с разработчиком IDA Pro"

PhotoRescue


"Работа программы основана на 12 мощных алгоритмах восстановления данных"