Når man kompilerer .NET kode (C#, VB etc) produserer man som regel enten en .dll-fil
eller en .exe-fil. Dersom du åpner en slik fil i notepad eller en annen text-editor vil du
trolig ikke kunne lese noe av koden. Dette er kompilert kode som er umulig å lese.
På grunn av måten .NET kompileres på så er det forholdsvis enkelt å reversere dette slik at
du kan se den opprinnelige koden bak programmet. Det er mange grunner til at dette kan være
interessant. Du kan for det første lære masse av det og dessuten kan man selv finne ut hvordan
en .dll fungerer hvis man skal bruke en 3. parts løsning i applikasjonen sin.
Man kan kjøpe en rekke .NET komponenter på nettet i dag. Veldig mange av de er webcontrols til
bruk i webapplikasjoner og disse leveres som .dll filer. Disse kan du altså enkelt dekompilere
for å se hva som ligger bak og hvordan de er laget.
Å bruker en dekompilator er svært enkelt. Lutz Roeder har laget den mest kjente av disse. Dette
er gratis programvare (freeware). (programmet krever ikke installasjon). Åpne programmet og gå
til File -> Open for å åpne en hvilken som helst .dll eller .exe som er laget i .NET.
Da vil du kunne browse rundt i hele kildekoden til programmet. Det finnes en rekke addins til dette
programmet som gjør at du kan søke, dekompilere hele programmet til et Visual Studio prosjekt mm.
Du kan selv velge om du vil dekompilere til C#, VB.NET, Delphi, MC++ mm.
Å dekompilere et program er ikke ulovlig og det er svært mange utviklere som bruker dette som et verktøy.
Obfuscate
Obfuscate (verb. formørke, forvirre, gjøre uforståelig) er en utbredt teknikk for
å beskytte kode. Obfuscating er en teknikk som endrer logikk, navn og referanser
i koden slik at den blir vanskelig å lese. De beste programmene gjør det så og si umulig å
dekompilere. Det er skremmende få som bruker slike programmer.
Ressurser