.dll auslesen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    .dll auslesen

    Hallo zusammen!

    In unserer Firma hat mein Vorgänger eine dll geschrieben auf die er in einem Programm permanent zugreift. Ich würde gerne was verändern aber im Objektexplorer steht keine Zeile Erläuterung zum Objekt und dessen Membern/Methoden. Wie geh ich da am besten vor, gibt es die Möglichkeit die .dll einzusehen und u.U. sogar zu ändern. Einsehen würde mir aber schon reichen.

    VG

    Ruedi
    Du importierst die DLL einfach in Visual Studio mit einem Verweis (vorrausgesetzt kein Control). Dazu gehst du auf Projekt > Verweis hinzufügen und wählst die unter dem Punkt "Durchsuchen" mit dem Dialogfenster aus. Danach musst du nur noch eine Importsanweisung setzen. Dies machst du in der Klasse ganz oben mit Imports Bla.Bla

    Und schon kannst du auf alles zugreifen. Wenn du Methoden oder etwas verändern willst, dann geht das halt nur lokal, in dem du die überschreibst. Dies machst du mit dem Overrides-Befehl. Dies funktioniert aber nur, wenn das erlaubt wurde (mit Overridable).
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    hi!
    @Trade: Mein problem ist ja, dass ich nicht weiss, was die Methoden machen. Deswegen muss ich irgendwie den Quellcode einsehen. Es bringt mir nichts etwas zu überschreiben, deren Funktionalität ich nicht kenne, weil der Entwickler eine Blackbox hinterlassen hat.

    @Gonger96: Wie finde ich heraus, ob die Verwaltet sind oder nicht? In den Ressourcen steht jedenfalls nichts von der .dll. Sie liegt unter:
    C:\Users\user\Documents\Visual Studio 2012\Projects\project_1\project_1\bin\Debug\
    Das würde mit Reflection funktionieren, obwohl ich dazu sagen muss, das sich das "Ändern" deiner Dll als weniger einfach gestalten wird. Mit Reflection kommst du an deine Methoden und Eigenschaften, schau dich dazu am besten mal bei MSDN oder generell im Internet um.
    Hey,

    lad Dir mal dieses Programm:

    ilspy.net/

    Zieh die .dll einfach ins Prgrammfenster. Erscheint neben dem Assembly-Symbol kein Ausrufezeichen, dann ist es eine .NET-dll. ILSpy ist gleichzeitig auch das Programm, dass es Dir ermöglicht, in den QuellCode zu blicken, solange die .dll nicht durch einen Obfuscator unkenntlich gemacht wurde. Probier es einfach aus und melde Dich, wenn Du nicht weiter kommst.

    Bzw., es ist nicht direkt der QuellCode, sondern der "wieder aufbereitete" IL-Code. Also, es entspricht nicht 1:1 dem, was der Programmierer geschrieben hat.
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Das kannst du herausfinden indem du mal auf meine Signatur klickst und mit diesem Programm guckst ob ein Cor20-Header in der PE ist. Ich nehm aber stark an das es eine .Net Dll ist. Dann kannst du einfach das von @SpaceyX: vorgeschlagene Programm benutzen.

    ruediger_006 schrieb:

    aber im Objektexplorer steht keine Zeile Erläuterung zum Objekt und dessen Membern/Methoden.
    Dann sind wohl keine derartigen Hilfen implementiert.
    Meinst Du so was:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!