Avatar billede melange Nybegynder
02. januar 2003 - 23:57 Der er 12 kommentarer og
1 løsning

dekompile *.dll

Jeg har lige downloadet ASP.NET forumet som ligger inde på http://www.asp.net/Forums/Download/ for at kigge lidt i kildekoden, og se hvordan det var opbygget.
Desværre bestod 99% af al koden i en *.dll-fil, og det eneste *.aspx filerne indeholdt var nogle web/user-controls :(

Nå, mit spørgsmål er det muligt at dekompile *.dll-filen så man kan få sig et ordenligt indblik i kildekoden ?
Avatar billede ALS Praktikant
03. januar 2003 - 00:07 #1
En dll-fil er en eksekverbar fil, som består af maskin-kode.
Den kan godt disassembleres, så du får en assembler-fil, men du skal være noget "lang-hårdet" for at få noget ud af resultatet.

En dekompilering, så du får en source-kode i et højniveau-sporg som f.eks. C, er ikke mulig.
Avatar billede melange Nybegynder
03. januar 2003 - 00:51 #2
damn, og mig som lige er blevet klippet ;)

nå, det ser ud til jeg bliver nød til at finde andre projekter jeg skal kan kigge lidt på :)
Avatar billede simon.ulsnes Nybegynder
03. januar 2003 - 01:44 #3
Jeg har et med en MySQL backend du godt kan få lov til at kigge på, hvis du har lyst... bare smid en mail efter mig på simon@ulsnes.dk...

// Simon
Avatar billede guidmaster Nybegynder
03. januar 2003 - 07:58 #4
Der følger altså source kode med - det ligger inde i biblioteket 'Engine'.
Avatar billede z42cool Nybegynder
03. januar 2003 - 08:16 #5
Hvis nu og såfremt den medfølgende .dll er msil så kan den "sagtens" dekompileres. Hvad ib-rene-cairo siger er naturligvis kun rigtigt når det gælder gammeldags maskinkode libraries. Den rare Jay har sågar lavet et tool der gør alt arbejdet for dig :-) http://www.saurik.com/net/exemplar/ Damn det ville rart hvis folk holdt sig til at svare på ting de ved noget om :-)
Avatar billede ALS Praktikant
03. januar 2003 - 09:44 #6
z42cool >> Slap af.
Du forudsætter at alle DLLér er oversat med en bestemt compiler. Det er de langt fra, heller ikke i dag.
Avatar billede z42cool Nybegynder
03. januar 2003 - 09:54 #7
Hvorfor? En msil dekompiler er jo fuldstændigt ligeglad med hvilken kompiler der har genereret det pågældende msil. Den vil f.eks. sagtens kunne tage et .net assembly skrevet i VB.Net der er kompileret med MS kompileren og dekompilere til c#!
Avatar billede simon.ulsnes Nybegynder
03. januar 2003 - 12:10 #8
z42cool >> Slap af. Lidt tolerance ville måske være for meget at forlange? Lad nu være med at være så arrogant, det *kunne* jo være at du ikke havde ret...

Med hensyn til spørgsmålet, så kan en decompiler aldrig regenerere kilden fuldstændigt - der vil f.eks. altid mangle kommentarer, og variabelnavne vil blive oversat til V_0, V_1, V_2 osv. Det vil selvfølgelig kunne lade sig gøre at decompile og derefter compile igen med det samme resultat.

Der findes også scramblers der kan "snyde" decompilerne og få dem til at lave noget sludder, men jeg har aldrig prøvet det.

// Simon
Avatar billede z42cool Nybegynder
03. januar 2003 - 13:10 #9
Naturligvis kan vi alle tage fejl, men et svar der er leveret 10 min. efter at spørgsmålet er oprettet kunne måske drage fordel af lidt mere research. Man må trods alt gå ud fra at folk henvender sig her for at få "ekspert" hjælp. Spørgsmålet er oprettet i en .net kategori og som sådan må det forståes at omhandle msil kode og ikke som ib-rene-cairo svarer native kode. Jeg har bestemt ikke noget imod at folk giver deres bedste bud, heller ikke hvis det er forkert, men jeg er imod at folk så hurtigt svarer skråsikkert at noget ikke kan lade sig gøre.
Avatar billede ALS Praktikant
03. januar 2003 - 13:32 #10
Har svært ved at se at mit svar bliver mere eller mindre rigtigt af at jeg havde ventet 8 timer med at svare. Jeg svare altid efter bedste evne.
Jeg er ikke herre over at spørgeren vælger at acceptere mit svar så hurtigt.

Jeg mener ikke du har ret, og man vil få svært ved at få et resultat "så man kan få sig et ordenligt indblik i kildekoden".

Jeg gidder ikke mere ævl, så smid et svar i http://www.eksperten.dk/spm/300491
Avatar billede burningice Nybegynder
03. januar 2003 - 13:35 #11
men mon ikke at vi kom frem til at sourcekoden altså FØLGER med asp.net forumet... så hvis du ikke kan finde den, så har du downloadet den forkerte fil... der er (vistnok) nemlig to forskellige filer man kan hente...
Avatar billede z42cool Nybegynder
03. januar 2003 - 13:36 #12
ib-rene-cairo>> Jeg er ked af at du opfatter min kritik så voldsomt. Den er ikke målrettet dig som person, men den tendens der er til at svar afgivet "efter bedste evne" ofte bliver præsenteret som den eneste sandhed. Jeg er fuldstændig ligeglad med pointene, for min skyld må du få en milliard-million point, eksperten er for mig udelukkende et forum til vidensdeling.
Avatar billede boris Mester
03. januar 2003 - 14:12 #13
Man kunne også vælge at antage, at vi prøver at hjælpe hinanden så godt vi kan og at vi alle kan tage fejl.
z42cool det er noget skrækkeligt vrøvl at  du brokker dig over over, at der ikke er lavet omfattende research på 10 minutter.
10 minutter er tilstrækkelig lang tid til,  at det ikke er bemærkning slynget ud for at komme først. Men det er for kort tid til at sætte sig grundigt ind i emnet hvis man ikke allerede kender det.
Tolerance og en lidt pænere tone, tak.
Og ros til ib-rene-cairo for den måde,han har taget det på!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester