Кіріспе

Бағдарламалық жасақтаманы кері инженериялау құралы

Интерактивті бөлшектеуші (IDA) – компьютерлік бағдарламалық жасақтама үшін бөлшектеуші, ол машиналық орындалатын кодтан ассемблер тіліндегі бастапқы кодты жасайды. Ол әртүрлі процессорлар мен операциялық жүйелерге арналған түрлі орындалатын форматтарды қолдайды. Ол Windows PE, Mac OS X Mach O және Linux ELF орындалатын файлдары үшін де отладчик ретінде қолданылуы мүмкін. Талданған бағдарламаның жоғары деңгейдегі, C тіліндегі бастапқы код сияқты бейнесін құратын декомпилятор плагині қосымша төлеммен қолжетімді. IDA бағдарламалық жасақтаманы кері инженериялауда, оның ішінде зиянды бағдарламаларды талдау және бағдарламалық жасақтамадағы осал жерлерді зерттеуде кеңінен қолданылады. IDA "де-факто сала стандарты бөлшектеушісі" деп есептеледі.

Тарих

Ильфак Гилфанов 1990 жылы IDA бағдарламасымен жұмыс істей бастады және бастапқыда оны үлестік бағдарлама ретінде таратты. 1996 жылы бельгиялық DataRescue компаниясы IDA-ны дамытуды өз міндетіне алды және оны IDA Pro деген атпен коммерциялық өнім ретінде сата бастады. IDA-ның алғашқы нұсқаларында графикалық пайдаланушы интерфейсі (GUI) болмады және кеңейтілген DOS, OS/2 немесе Windows консольдік қолданбасы ретінде жұмыс істеді. 1999 жылы DataRescue GUI-мен жабдықталған IDA Pro-ның бірінші нұсқасын – IDA Pro 4.0 шығарды. 2005 жылы Гилфанов Hex Rays Decompiler IDA кеңейтімдерін дамыту мақсатында Hex Rays компаниясын құрды. 2008 жылдың қаңтар айында Hex Rays DataRescue-нің IDA Pro бағдарламасын дамыту және қолдауды өз мойнына алды. 2022 жылы Hex Rays компаниясын еуропалық тәуекелдік капитал және жеке капитал инвесторы Smartfin сатып алды.

Сценарий жасау

"IDC скрипттері" дисасемблердің жұмысын кеңейтуге мүмкіндік береді. Пайдаланушылар жазған скрипттер үшін негіз бола алатын бірнеше пайдалы скрипттер ұсынылады. Көбінесе скрипттер жасалған кодты қосымша өңдеу үшін қолданылады. Мысалы, сыртқы символдар тізімдерін жүктеуге болады, осы арқылы бастапқы кодтың функция атауларын пайдалануға болады. Пайдаланушылар IDC-нің орнына немесе оған қосымша басқа кең таралған скрипт тілдерін пайдалануға мүмкіндік беретін плагиндер жасады. IdaRUB Ruby-ді, ал IDAPython Python-ды қолдайды. 5.4 нұсқасынан бастап IDAPython (Python 2.5-ке тәуелді) IDA Pro-мен бірге орнатылған күйі келген.

Нұсқалар

IDA Pro-ның ең соңғы толық нұсқасы коммерциялық (2022 жылдың желтоқсанына қарай 8.2 нұсқасы), ал IDA Free деп аталатын, мүмкіндіктері шектеулі нұсқасын тегін жүктеуге болады.