C / C ++ декомпилаторът превежда програми, не е необходим изходен код

С нов декомпилатор за C / C ++ разработчиците могат да получат представа за работата на програмата, без да гледат изходния код. Това е планът за Snowman, който водещият разработчик на проекта се надява да направи подобен на LLVM за декомпилация.

Снежният човек се декомпилира от машинен код на C с незначителна поддръжка за C ++ и изходният код трябва да бъде пуснат в рамките на няколко месеца, заяви главният разработчик Йегор Деревенец, студент в Германия, в отговор по имейл на въпроси.

Технологията е „силно модулна“, каза Деревенец. „Тя се основава на библиотека за декомпилация, която може лесно да се интегрира в други системи. Като пример предоставяме три приложения, които го използват: декомпилатор на команден ред, декомпилатор на GUI и приставка за разглобяване IDA. Надяваме се, след като излезе неговият изходен код, Snowman в крайна сметка ще се превърне в LLVM за декомпилация.

„Целта на декомпилатора е да превежда програми в представяне на ниско ниво, като машинен код или байт код, в програми на език за програмиране на високо ниво, като C, C ++ или Java и C #“, каза Деревенец. „Такъв превод може да бъде полезен за хора, които се опитват да разберат как работи програма на ниско ниво, без да имат достъп до своя изходен код: инженери по сигурността, вирусни анализатори, поддържащи стари системи, чийто код е загубен.“

Текущата версия на Snowman от 0.0.5 включва подобрения на C / C ++ редактиране, рефакторинг, навигация на код и графичен интерфейс. От юни са публикувани шест издания, включително издание от средата на октомври с приставка за IDA дизасемблер.