Avatar billede _et Praktikant
20. december 2004 - 21:57 Der er 20 kommentarer og
2 løsninger

Undersøge en DLL

Hvis man har en dll, men ingen defination af hvilke funktioner/klasser der er i den, er det så muligt at lure ind og se hvad de hedder og hvilke argumenter de tager ?
Avatar billede arne_v Ekspert
20. december 2004 - 22:00 #1
En radikal løsning er at downloade anakrino, decompile DLL'en og kigge i den
genererede kilde tekst.
Avatar billede arne_v Ekspert
20. december 2004 - 22:00 #2
Men jeg mener nu også at der findes browsere til lige præcis det du spørger om.
Avatar billede _et Praktikant
20. december 2004 - 22:02 #3
hvilket sprog vil det være i, hvis jeg decompiler ? asm?
Avatar billede arne_v Ekspert
20. december 2004 - 22:06 #4
C#
Avatar billede arne_v Ekspert
20. december 2004 - 22:10 #5
Hvis du bare vil se "assembler", så kan du nøjes med ildasm som kommer med .NET !
Avatar billede _et Praktikant
20. december 2004 - 22:13 #6
Jeg er nemlig ikke skrab til asm.
men jeg kan ikke decompile - den skriver at "filen ikke indeholder metadata"?
Kan det være en form for beskyttelse, eller en fejl hos mig.
Avatar billede arne_v Ekspert
20. december 2004 - 22:15 #7
Er det en .NET DLL ?
Avatar billede _et Praktikant
20. december 2004 - 22:18 #8
Det er problemet - jeg ved det ikke.
Den er til noget hardware, så ..

Men ildasm kan hellerikke. (ingen valid CLR header) så det er nok ikke .NET
Avatar billede arne_v Ekspert
20. december 2004 - 22:35 #9
En Win32 DLL er noget vanskeligere at reverse engineere.

Jeg ved faktisk ikke lige umiddelbart hvordan man skal gribe det an.
Avatar billede _et Praktikant
20. december 2004 - 22:38 #10
ok, så er der no ikke lige noget at gøre ved det :-(

Lad os dele points som tak for anakrino, det er et ok tool.
Avatar billede arne_v Ekspert
20. december 2004 - 22:39 #11
ok
Avatar billede _et Praktikant
20. december 2004 - 22:40 #12
ok :-)
Avatar billede _et Praktikant
20. december 2004 - 22:41 #13
Glædelig Jul og godt nytår
Avatar billede arne_v Ekspert
20. december 2004 - 22:51 #14
I lige måde
Avatar billede _et Praktikant
20. december 2004 - 22:52 #15
tak
Avatar billede shah_khan Nybegynder
21. december 2004 - 00:25 #16
du kan brug en program der hedder dumpbin og kommer også med .net. med dette program kan du se funktion navnener og parameter. til at se hvilke funktioner er i dll kan du skrive i kommando linjen >>c:\\......\dumpbin /exports c:\\....\myDll.dll. jeg kan ikke huske hvilde flag skal du brug til at også se parameterne, men du kan skrive dumpbin help og vise alle parameterene.
Avatar billede segato Nybegynder
21. december 2004 - 18:08 #17
Det du kan gøre som faktisk er super nemt er at bruge reflections. Der kan du åbne dit dll og køre igennem alle det namespaces, funktioner, properties, parameters osv osv osv..

Med reflections kan du stort set gøre alt runtime.
Avatar billede _et Praktikant
22. december 2004 - 17:49 #18
--> segato : Er det System.Reflection jeg skal bruge?

Hvis så, kan du så give et lille pseudo eks.
Avatar billede segato Nybegynder
24. december 2004 - 11:26 #19
Ja det er det.

Assembly a = Assembly.LoadFrom(“c:\\mymath.dll”);
Type t = a.GetType (“mymath”);
MethodInfo m = t.GetMethod(“add”);
Object obj = Activator.CreateInstance (t);
Object[ ] arg = new Object [2];
arg[0] = 10;
arg[1] = 20;
m.Invoke(obj, arg);

For mere detaljeret:

http://www.expresscomputeronline.com/20030113/techspace2.shtml
Avatar billede arne_v Ekspert
24. december 2004 - 13:38 #20
Hvis ikke det er en .NET DLL så ...
Avatar billede segato Nybegynder
26. december 2004 - 17:51 #21
Det lidt svært at at undersøge en dll der ikke understøtter msil da det er hele ideen med et runtime framework. Så Arnehar ret dette virker selvfølgelig kun på en .net dll.
Avatar billede _et Praktikant
26. december 2004 - 18:02 #22
Jeg kan altså konkludere at jeg ikke lige sådan kan finde oplysningerne frem.

Jeg takker for indslagne
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