Kaj pomeni dekompilirati program?

Dekompilirati programsko opremo pomeni vzeti to programsko opremo in spremeniti jezik, v katerem je napisana, v nekaj, kar je ljudem bolj razumljivo. To naredi tako, da vzame jezik izvirnega programa in ga spremeni v izvorno kodo, ki jo je mogoče bolje razumeti. Če je opravljeno pravilno, lahko oseba, ko poskuša dekompilirati programsko opremo, ustvari program, ki deluje zelo podobno, če ne povsem podobno izvirni programski opremi.

Obstaja veliko programov, ki jih je mogoče uporabiti za dekompiliranje programske opreme. Nekateri od teh programov imajo zakonito uporabo, drugi pa ne. Treba je opozoriti, da bi lahko vsak, ki poskuša dekompilirati programsko opremo za nezakonite namene, kršil krajo intelektualne lastnine, ki je v mnogih državah kaznovana s kazenskim zakonom.

Pravzaprav je izdelovanje piratskih kopij programske opreme ali izdelava izdelka, ki ima enako funkcijo kot izvirna programska oprema, lahko najpogostejši razlog za dekompiliranje programske opreme. To je zato, ker je morda mogoče uporabiti deprevajalnik programske opreme za odstranitev zaščite pred kopiranjem. Tako ima vsak, ki lahko uspešno dekompilira programsko opremo na tak način, neomejeno možnost izdelave kopij programa.

Medtem ko bi mnoga podjetja želela videti, da so računalniški programi, ki dekompilirajo programsko opremo, prepovedani zgolj zaradi tega razloga, obstaja tudi nekaj zakonitih uporab za dekompilacijo programske opreme. Ti vključujejo iskanje napak v programu, iskanje zlonamerne programske opreme in preverjanje kode. Poleg tega lahko uporaba programa za dekompiliranje programske opreme deluje kot učni pripomoček za študente, ki študirajo programiranje. Ti primeri so lahko zelo utemeljeni razlogi za dekompiliranje programske opreme.

Pogosto je lahko dekompilator uporabno orodje za tiste, ki se ukvarjajo z odprtokodno programsko opremo, ki bi morda želeli dodati določene funkcije ali vrednosti določenega programa. V tem primeru lahko deprevajalnik bistveno pomaga pri napredku pri ponovnem pisanju ali dodajanju programa. Vendar je to precej drugače kot dekompiliranje programa velikega proizvajalca programske opreme, ki je večina zaščitena z licenčnimi pogodbami in kodo za preprečevanje kopiranja.

Treba je opozoriti, da dekompiliranje programske opreme ne pomeni samo razstavljanja programa, čeprav ime morda nakazuje, da je to edina stvar, ki se naredi. Zelo pomemben je tudi prevodni del dekompilacije. Pogosto, ko je preveden, se nato sestavi nazaj skupaj, da vidimo, ali so bili doseženi želeni rezultati. Če ne, bo morda treba opraviti nadaljnje delo.