Der sker et stort informationstab når vi compilerer fra kildetekst til binær og jeg tænker ikke bare på at de få sporadisk placerede kommentarer elimineres.
Reverse-engineering er en god og gammel sport i branchen, som har fået en særlig opblomstring i virus/malware branchen.
Men det er stadigvæk en meget manuel process og det vedbliver det, så vidt jeg har forstået min Turing, med at være.
Wei-Ming Khoo, fra Ross Andersons team ovre i Cambridge, har prøvet en ny vinkel på den overordnede problematik: Ofte behøver man ikke disassemblere koden, hvis man bare kan finde kildeteksten.
F.eks er rigtig meget kode compileret imod standardbiblioteker og derfor kan man, med ret godt resultat, genkende dem på kodemorfologien, uden at grave sig ned i præcis hvad koden egentlig gør.
I bund og grund har han bygget en søgemaskine der genkender funktioner i binære programmer og hans resultater er faktisk ret imponerende.
Som jeg forstår det, er metoden temmelig arkitektur-neutral, dvs. man burde kunne finde glibc::qsort() i en MIPS binær, selvom søgemaskinen kun har set en i386 version tidligere.
Den søgemaskine kan blive en slem hovedpine for folk der "glemmer" at læse det med småt i Open Source licenser.
phk

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.