Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse

(Det heter å kompilere, dekompilere, og tilsvarende: kompilator, dekompilator. ;) )

 

Jeg dekompilerte et Java-program en gang (Med DJ Java Decompiler, e.l.), og det gikk ganske greit. Jeg har hørt at det er mye verre med C++, pga språkets kompleksitet osv. Jeg har aldri prøvd. Hvor bra resultatet blir er dessuten veldig avhengig av størrelsen på programmet. (Du får nok ikke noe bra resultat hvis du prøver å dekompilere Photoshop...)

Lenke til kommentar

Og hvis du ikke "har så mye peiling" som du sier, vil du ikke skjønne et døyt av de dekompilerte filene uansett. Bare haugevis av hardware adresser og rare 3-4 bokstavs kommandoer.

Evt. kryptisk C-kode som man må være professor for å kunne lese, siden mange "l33t"-kodere ikke gidder å legge kommentarer i sine egne programmer.

Lenke til kommentar

Kommentarer havner selvfølgelig ikke i maskinkoden. Java er det annerledes med siden det normalt kompileres til byte-kode, som er en slags abstrakt maskinkode. Dermed bør det være enklere å dekompilere, spesielt hvis koden ikke er obfuskert.

 

Edit: Rart med folka som tror det heter komplimere, hvor får de det fra?

Endret av A_N_K
Lenke til kommentar
  • 3 uker senere...

"Hvordan kan jeg gjøre om en hamburger til en ku?"

(sitatet er oversatt, ukjent opprinnelse)

 

Det er omtrent like vanskelig å gjøre om en kompilert binær fil til kildekode....

 

Hvis man virkelig er desperat, så kan man bruke en disassembler, da får man assemblerkode fra en EXE fil. Men det å få oversikten, og ikke minst forstå noe av dette, krever mye arbeid og kunnskap om hvordan kompilatorer genererer kode og hvordan prosessoren utfører dem.

Lenke til kommentar

Og for de som ikke kan assembly: det er mange assembly-kodere (nybegynnere) som har brent seg på det at de ikke har lagt til mange nok kommentarer i kildekoden sin (assembly-kilda), sånn at de ikke klarer å lese den etterpå. De skjønner rett og slett ikke hva koden gjør, slik at de bare må kaste det og begynne på nytt.

 

Dette sier litt om hvor vanskelig og lite intuitivt assembly kode er. Det er krever lang erfaring å kunne disassemble noe som helst.

 

Mao, svaret blir i praksis nei (i hvert fall for deg). Med åpen programvare følger kildekoden med programmet (tenk f.eks. GNU/Linux, *BSD osv hvor man får med all kildekode til alle programmene, inkludert kjernen, på hele systemet), hvis det var kildekode du var interrissert i.

Lenke til kommentar
Mao, svaret blir i praksis nei (i hvert fall for deg). Med åpen programvare følger kildekoden med programmet (tenk f.eks. GNU/Linux, *BSD osv hvor man får med all kildekode til alle programmene, inkludert kjernen, på hele systemet), hvis det var kildekode du var interrissert i.

Og slik "ferdig" kildekode kan i seg selv være vanskelig nok å forstå, selv med lang erfaring i gamet hvis man ikke har spiss-kunnskap om akkurat det området det gjelder.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...