Detta papper presenterar en teknik som hjälper till att automatisera omvänd konstruktion av enhetsdrivrutiner. Det tar en sluten källkod binär drivrutin, automatiskt vända ingenjörer drivrutinens logik, och syntetiserar nya enhetsdrivrutin kod som implementerar exakt samma maskinvaruprotokoll som den ursprungliga drivrutinen. Denna kod kan riktas mot samma eller ett annat OS. Ingen leverantörsdokumentation eller källkod krävs. Drivrutiner är ofta egenutvecklade och tillgängliga för endast ett eller två operativsystem, vilket begränsar utbudet av enhetsstöd på alla andra operativsystem. Begränsat stöd för enheter leder till låg lönsamhet på marknaden för nya operativsystem och hämmar OS-forskare i deras ansträngningar att göra sina idéer tillgängliga för den "riktiga världen". Omvänd teknik kan hjälpa automatisera anpassning av drivrutiner, samt producera ersättningsdrivrutiner med färre buggar och färre säkerhetssårbarheter. Vår teknik är förkroppsligad i RevNIC, ett verktyg för reverse engineering nätverksdrivrutiner. Vi använder RevNIC för att vända ingenjör fyra egenutvecklade Windows-drivrutiner och anpassa dem till fyra olika operativsystem, både för datorer och inbyggda system. De syntetiserade nätverksdrivrutinerna levererar prestanda som nästan är identisk med originaldrivrutinernas.
I REF ges en teknik för bakåtriktade drivkrafter.
Reverse engineering of binary device drivers with RevNIC
{'venue': "EuroSys '10", 'journal': None, 'mag_field_of_study': ['Computer Science']}