If it's a managed DLL (.NET), you can open it using tools such as Reflector or ILDASM and you'll see the IL code. (Edit 2017-02-03: In 7+ years, .NET disassemblers have of course progressed a lot and are now able to produce very decent C# code)
If it's an unmanaged DLL (native), you're out of luck. The best you can do is load a disassembler. Which leads you nearly nowhere unless you know exactly where you want to go.
Вы заинтересованы в декомпиляции сборок. Итак, начало декомпиляции сборок .NET: http://aspnet.4guysfromrolla.com/articles/080404-1.aspx
Популярным инструментом в сообществе .NET для декомпиляции сборок является .NET. Reflector
Невозможно (1) декомпилировать объектный код в исходный код. Другое дело - проверка интерфейса; есть инструменты, которые существуют, но я не знаю о них навскидку.
(1) - ну, хорошо, это возможно для некоторых языков и при определенных условиях, но полученный код будет не совсем читабельным ...
Единственный читаемый код, который вы получите, - это язык ассемблера (там есть много программ для этого). Есть некоторые языки, которые можно декомпилировать до исходного (или близкого к нему) исходного кода, например, Visual Basic 3. Но кто сейчас пишет программы на VB3? Никто. Что касается импорта / экспорта DLL, вы можете использовать программу Dependency walker из: http://www.dependencywalker.com/
For some languages, for example Visual Basic or C#, you can get readable source-code if you use a good decompiler and the code is not obfuscated (which it most of the time isn't)
Check this site if you're interested in decompiling: http://www.program-transformation.org/Transform/DecompilationPossible
For .Net, .NET Reflector is the way to go. It will decompile your dll into either C# or VB.NET http://www.aisto.com/roeder/dotnet/
Для .NET Reflector сделает это; «Pro» версия (сейчас в предварительной версии) содержит плагин для Visual Studio, который позволяет выполнять отладку в большинстве управляемых кодов в самой VS IDE, а не является отдельным инструментом. Пока это выглядит очень мило.
Reflector EAP http://www.simple-talk.com/community/blogs/alex/attachment/74919.ashx
О декомпиляции .NET уже сказано достаточно. Если вы когда-нибудь решите начать обратное проектирование собственных двоичных файлов, я рекомендую использовать IDA .
Он поддерживает различные ОС, архитектуры процессоров, обнаруживает и показывает использование стандартных библиотек (так что вы можете легко найти места для интерес), показывает графики зависимостей между подпрограммами, показывает аргументы процедур в стеке и т. д. Это также может быть написано сценариями, и есть сценарии, которые обнаруживают классы C ++ и блоки try-catch , находят имена COM-интерфейсов для UUID и многое другое. Это отличный инструмент, и есть его бесплатная версия.
To decompile a .Net DLL, you can use .Net Reflector. It will work for DLLs written in any .Net language.
To decompile a Java JAR file, try Java Decompiler.
Decompiling native code (C++) is much more difficult.
Это разные форматы.
Для .NET dll вы можете использовать ildasm.exe (установленный с .NET framework) или .NET Reflector (загрузить)
Если вы не находитесь в стране .NET, то, что находится в DLL, является двоичным кодом. Единственный язык, на котором вы можете это увидеть, - это ассемблер, который представляет собой просто мнемонический способ представления машинного языка.
Независимо от того, какой язык .Net вы используете - все будет скомпилировано в MSIL (промежуточный язык Microsoft). Вы можете использовать такие инструменты, как Ildasm, чтобы преобразовать его в читаемый «дизассемблированный текст»:
http://msdn.microsoft. http://www.builderau.com.au/program/asp/soa/Look-inside-NET-DLL-files-with-Reflector/0,339028371,339287377,00.htm
для проверки классов и методы (поддерживает разные языки .Net)
Для нативных DLL эта программа , Hex-Rays Decompiler (слой поверх превосходного дизассемблера-отладчика IDAPro), вероятно, как как можно ближе. Он не восстанавливает исходный код, а преобразует дизассемблированный код в псевдокод типа C. Но это не дешево.