Декомпиляция кода (независимого от языка) [закрытый]

Простой ответ: Да.

6
задан TylerH 21 January 2015 в 18:37
поделиться

10 ответов

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.

17
ответ дан 8 December 2019 в 05:55
поделиться

Вы заинтересованы в декомпиляции сборок. Итак, начало декомпиляции сборок .NET: http://aspnet.4guysfromrolla.com/articles/080404-1.aspx

Популярным инструментом в сообществе .NET для декомпиляции сборок является .NET. Reflector

1
ответ дан 8 December 2019 в 05:55
поделиться

Невозможно (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/

1
ответ дан 8 December 2019 в 05:55
поделиться

Для .NET Reflector сделает это; «Pro» версия (сейчас в предварительной версии) содержит плагин для Visual Studio, который позволяет выполнять отладку в большинстве управляемых кодов в самой VS IDE, а не является отдельным инструментом. Пока это выглядит очень мило.

Reflector EAP http://www.simple-talk.com/community/blogs/alex/attachment/74919.ashx

1
ответ дан 8 December 2019 в 05:55
поделиться

О декомпиляции .NET уже сказано достаточно. Если вы когда-нибудь решите начать обратное проектирование собственных двоичных файлов, я рекомендую использовать IDA .

Он поддерживает различные ОС, архитектуры процессоров, обнаруживает и показывает использование стандартных библиотек (так что вы можете легко найти места для интерес), показывает графики зависимостей между подпрограммами, показывает аргументы процедур в стеке и т. д. Это также может быть написано сценариями, и есть сценарии, которые обнаруживают классы C ++ и блоки try-catch , находят имена COM-интерфейсов для UUID и многое другое. Это отличный инструмент, и есть его бесплатная версия.

1
ответ дан 8 December 2019 в 05:55
поделиться

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.

0
ответ дан 8 December 2019 в 05:55
поделиться

Это разные форматы.

Для .NET dll вы можете использовать ildasm.exe (установленный с .NET framework) или .NET Reflector (загрузить)

1
ответ дан 8 December 2019 в 05:55
поделиться

Если вы не находитесь в стране .NET, то, что находится в DLL, является двоичным кодом. Единственный язык, на котором вы можете это увидеть, - это ассемблер, который представляет собой просто мнемонический способ представления машинного языка.

0
ответ дан 8 December 2019 в 05:55
поделиться

Независимо от того, какой язык .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)

0
ответ дан 8 December 2019 в 05:55
поделиться

Для нативных DLL эта программа , Hex-Rays Decompiler (слой поверх превосходного дизассемблера-отладчика IDAPro), вероятно, как как можно ближе. Он не восстанавливает исходный код, а преобразует дизассемблированный код в псевдокод типа C. Но это не дешево.

0
ответ дан 8 December 2019 в 05:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: