[Allg.] DLL öffnen und auslesen...

krizzelfix

Commander
Registriert
Sep. 2005
Beiträge
2.626
Hallo Leute,

wie ist es möglich mit SharpDevelop oder Visual Studio 2005 eine dll zu öffnen und den code zu lesen?

Wenn man über File->Open->File... geht kann man sich nur den binären code ansehen aber nicht den c# code.

THX für eure hilfe...


MFG

tewes
 
Nein, um den Code zu sehen benötigst du einen Disassembler, dessen Einsatz ist bei 99,9% jeder Software verboten und bringt dich als Anfänger auch nicht sonderlich weit: denn anstatt den Binärcode zu sehen siehst du nun Assembler-Code. Für die, die damit etwas anfangen können, ein wahre Fundgrube, für die anderen nur abertausende Zeilen mit 3 Buchstaben und ein paar Zahlen ;)

edit: so in etwa sieht AssemblerCode aus: http://www.linuxsoft.cz/screenshot_img/5086-a.jpg
 
K. Thx für deine antwort.

Aber müste es nicht irgendwie möglich sein?

Wenn z.B. zwei Programmierer an einem Projekt arbeiten und einer hat eine DLL mit funktionen geschrieben die beide benötigen. Dann müsste es doch auch für den anderen Programmierer möglich sein zu sehen was passiert um evtl seinen Code an die DLL anzupassen oder die DLL zu verändern.

MFG

tewes
 
Nope in der Tat gibt es sowas nicht, ausser sie tauschen den Quellcode aus, dann brauchst du aber wiederum kein Tool mehr das ihn dir anzeigt ;)

Wenn ein Programmierer anderen Programmierern etwas zur Verfügung stellen möchte geschieht das meist über eine spezielle API welche in die DLL-Dateien eingebunden ist und durch den Programmierer der Datei in einem Handbuch genau erklärt werden. Aus diesen Informationen kannst du dann ein Interface mit der DLL zusammenbasteln, das nötige Know-How vorrausgesetzt.
 
Naja, ganz so Schwarz/weiß ist es dann doch nicht, es gibt sehr wohl Tools um Dll's zu analysieren.

OK, den eigentlichen Programm-Code kann man nicht sehen, das liegt aber daran, dass der Compiler sehr viele Optimierungen vornimmt und auch Funktionen zusammenfasst.
Das kann natürlich kein Tool der Welt Nachvollziehen, um daraus den Original-Code zu extrahieren.

Aber man kann sich die einzelnen API's einer Dll listen lassen oder auch zum Beispiel Entry-Points abändern. Nicht dass jetzt einer fragt, wie denn genau, ich bin kein Coder, sondern nur ein Windows-Fuzzi!;)

Hier das Tool dafür: PE Explorer

my2cents

PCB
 
Da hier von SharpDevelop bzw Visual Studio 2005 geredet wird nehm ich mal schwer an das hier keine win32 PE vorliegt sondern eine .net Assembly. Und in diesem Fall gibt es tatsächlich Tools die daraus Code basteln, ziemlich guten sogar, da in den Assemblys so ziemlich alles von Interesse abgespeichert ist.

Hier sind ein paar gute Tools für sowas: http://www.aisto.com/roeder/dotnet/
 
Zurück
Oben