Programmering

C / C ++ decompiler oversætter programmer, ingen kildekode er nødvendig

Med en ny dekompiler til C / C ++ kan udviklere få indsigt i funktionerne i et program uden at se på kildekoden. Det er planen for Snowman, som projektets hovedudvikler håber at ligne en LLVM til dekompilering.

Snowman dekompilerer fra maskinkode til C med mindre understøttelse af C ++, og kildekoden skal frigives inden for flere måneder, siger hovedudvikler Yegor Derevenets, en universitetsstuderende i Tyskland, i et sendt svar på spørgsmål.

Teknologien er ”meget modulær”, sagde Derevenets. ”Det er baseret på et dekompileringsbibliotek, der let kan integreres i andre systemer. Som et eksempel leverer vi tre applikationer, der bruger det: en kommandoliniedecompiler, en GUI-decompiler og en IDA-disassembler-plug-in. Forhåbentlig, efter at kildekoden er frigivet, bliver Snowman til sidst LLVM til dekompilering.

”Formålet med en dekompilator er at oversætte programmer i en lav repræsentation, som maskinkode eller bytekode, til programmer på et højt niveau programmeringssprog, som C, C ++ eller Java og C #,” sagde Derevenets. "En sådan oversættelse kan være nyttig for folk, der forsøger at forstå, hvordan et program på lavt niveau fungerer uden at have adgang til dets kildekode: sikkerhedsingeniører, viralanalytikere, vedligeholdere af gamle systemer, hvis kode går tabt."

Snowmans nuværende 0.0.5-frigivelse forbedrer C / C ++ - kodedigering, refactoring, kodnavigation og GUI-ydelse. Der er offentliggjort seks punktudgivelser siden juni, herunder en frigivelse fra midten af ​​oktober med et plugin til IDA-disassembleren.