Как из dll получить исходник

Обновлено: 04.07.2024

Я потерял решение библиотеки классов, могу ли я открыть файл .dll , созданный class-library .

Выполните следующие шаги.

  1. Перейдите в меню «Пуск».
  2. Введите Visual Studio Tool.
  3. Перейдите в указанную папку.
  4. Нажмите "Командная строка разработчика для VS 2013" в случае VS 2013 или просто «Командная строка Visual Studio» в случае VS 2010.
  5. После загрузки командной строки на экране типа ILDASM.EXE нажмите клавишу ВВОД.
  6. Откроется окно ILDASM. Перетащите файл .dll в окно из вашей папки. Или нажмите File->New . Затем добавьте необходимые .dll файл.
  7. После выполнения вышеуказанных шагов появится файл Mainfest и .dll. Дважды щелкните по этим файлам, чтобы увидеть, что в них содержится.

Перейдите в раздел "Просмотр" и нажмите "Надстройки",

В окне надстроек нажмите Добавить .

Тогда найдите dll, который вы скачали

FileGenerator.dll (с плагином FileGenerator),

Затем закройте окно надстроек.

Перейдите в «Файл», нажмите «Открыть» и выберите DLL, которую хотите декомпилировать,

После того, как вы откроете его, он появится в виде дерева,

Перейдите в Инструменты и нажмите Создать файлы (Crtl + Shift + G),

выберите выходной каталог и выберите соответствующие настройки по своему желанию, Нажмите «Создать файлы».

ИЛИ

Откройте файл .dll в Visual Studio. Или редактор ресурсов.

Вы не можете получить точный код, но вы можете получить его декомпилированную версию.

«Просто декомпиляция» Telerik - лучшее, что я использовал. Это бесплатно, как только вы зарегистрируетесь с электронной почтой.

*. dll файлы - это архивные файлы, открытые с помощью winzip /7zip и т. д. Это не означает, что все файлы .dll являются архивами, вы можете сохранить что угодно с расширением .dll, однако большинство файлов .dll Windows создаются как архивные примеры. Это windows> twain_32.dll, который является архивным файлом, однако twain.dll - это не так, если вы посмотрите на twain.dll, вы увидите MZŽ в качестве первых трех символов блокнота, обозначающих файл /программу скомпилированного C или часть программы. В то время как MZ кажется архивом.

Кроме того, большинство файлов .exe представляют собой архивы, в основном содержащие изображение значка и т. д. для файла и пакетов установщика Windows, а также они содержат всю информацию, необходимую программе для запуска изображений, фильмов и т. д., а также каталоги, включая информацию об установке и текстовый файл. ,

У меня есть игра game.exe, и она содержит файлы классов java и указатель, указывающий .exe запустить файл .bat. Очевидно, что ваш файл .bat будет выполнять вызов javac из архива и запускать игру. Также есть несколько архивов .dll, содержащих файлы классов java.

стандартное перенаправление значка здесь .ico - это файл изображения в файле .dll в файле .exe. Таким образом, изображение в файле .exe является логотипом minecraft. Это в файле с именем autorun.inf. Второй пример

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

Может кто подскажет.
Есть написанная на VB6 система, в ней DLL.
Можно как-то получить исходный текст?

Originally posted by mns
[b]Может кто подскажет.
Есть написанная на VB6 система, в ней DLL.
Можно как-то получить исходный текст?

Дезассемблировать ещё можно, а получить исходник на языке высокого уровня нереально.

Originally posted by Зирк
[b]А если попробовать декомпилятором?

А такая штука вообще существует?
Кстати, подобная тема уже поднималась.

2JonanoВидимо да, хотя сам об этой штуке узнал совсем недавно.
Dian
Покажи хоть ненормальный Посмотреть бы на него.

Декомпиляторы были для VB3, VB4. Там был байт-код, практически один к одному из исходника. Начиная с VB5 полноценный компилятор. Конструкции узнаваемые, но автоматическая декомпиляция не представляется возможной.

Для чего нужен исходник ? Если сделать незначительные изменения, то можно пропатчить код. Если нужно большие переработки, к профессиональным реверсерам - восстановят исходники. Но это дорого.
Если нужно просто понять алгоритм - это проще и, соответственно, дешевле. А потом может оказаться проще написать аналог самостоятельно.

Спасибо.
Задача такая. Есть ЕХЕ и DLL. Это прога, выполняющая некоторые расчеты разных видов. Эти расчеты наверняка реализованы в DLL. Надо поменять один расчет на самописный.
Для этого надо
1.его найти (алгоритм известен).
2.сформировать новый DLL с заменой этого расчета на свой.
Дизассемблировать - это понятно. Но просто понять - какой алгоритм VB -проги выполняется данным дизассемблированным текстом - уже веселое занятие.
На декомпилятор я особо не надеялся, но вдруг (последний раз читал про них лет 25 назад) , а ничего не изменилось.
Еще вопрос - что значит "пропатчить код"?
Еще раз всем спасибо.

Может сделать "обёртку" над ДЛЛ-кой? Думаю, узнать, какие в ней функции не так уж и сложно.

Читайте также: