Dekompilere .NET for å se kode

Noen gang lurt på hvordan at program er laget? Dekompiler for å få ut kildekoden. Det kan du lære masse av og det jo moro å se hvordan ting er laget. Det er enklere enn du kanskje trodde.

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.

Lutz Roeders ReflectorÅ 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.