JavaScript is currently disabled.Please enable it for a better experience of Jumi. UBM avslöjar algoritmen bakom binärkoden
Guidelines for contributing Technical Papers: download PDF

Embedded expert Sherlock Holmes hade sitt förstoringsglas. Robert Krten och Sergei Sourjko har sin dekompilator. De utreder misstänkta intrång på programvarupatent. I en exklusiv artikel för Elektroniktidningens rapportserie Embedded Expert visar de steg för steg hur de går till väga för att förvandla rörig assembler till välstrukturerad C-kod.

Klicka här
för nedladdning!
PDF, 500 kbyte
.
 embex Fler kostnadsfria rapporter finns på etn.se/expert
Kompilatorns översättning till maskininstruktioner är en sofistikerad process som bland annat innefattar optimering. Det är därför mycket svårt att avgöra om det handlar om intrång genom att bara titta på maskinkoden.

Det skriver Robert Krten och Sergei Sourjko. Syftet med förvandlingen är att undersöka om ett givet program möjligen kan vara en implementering av en patenterad algoritm.

Det mest sofistikerade steget består i att översätta den spaghettikod av goto-satser som assemblerspråk utgör, till hierarkiska kontrollstrukturer.

Tekniken för att göra detta är att rekursivt bygga upp vad som kallas en kontrollflödesgraf.

Kontrollflödesanalys omfattar ett antal algoritmer för detaljerade studier av kontrollflödesstrukturen. Till exempel är det inte tillräckligt att upptäcka var en loop finns, vi måste också identifiera villkoren, innehållet i loopen, vilken typ av loop det är (while, for, do-while, och så vidare), följa vilka vägar den kan ta, med mera.

Artikeln kan tankas hem här (pdf, 500 kbyte).

MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)