Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как разобрать exe файл и получить его код


как разобрать exe файл

как разобрать exe файл

 

Как разобрать exe файл? Любопытства ради разберем экзешник (exe) с помощью архиватора.
Для разборки нам понадобится архиватор 7zip, коих в интернете пруд пруди.


Скачиваем и устанавливаем свежую версию согласно разрядности вашей системы.

В качестве примера возмем драйвер принтера hp в виде екзешника.

Жмакаем на exe правой кнопкой мыши, в конетстном меню выбираем 7zip и далее любой пункт со словом extract.

 

 

 

 

 

 

 

И указываем пупку в которую хотим распаковать exe файл. Или выбираем extract to (название файла). Таким образом рядом создастся директория с названием файла внутри которой вы увидите все содержимое екзешника.

 

 

 

 

 

 

Вот и все, мы разобрали exe файл с помощью архиватора 7zip.

 

Следующая запись

Пошаговое руководство к исполняемым файлам (EXE) Windows / Хабр

Почитайте внимательней мат.часть на предмет развития и появления .NET. Эта технология развилась благодаря COM-технологии. А все эти Ко-Сервера, Ко-Клиенты ничто иное как исполнимые файлы прописанные в реестре.
Не связывался с COM, но хорошо представляю, как загружаются .net приложения. Система вместе с исполняемым файлом загружает mscoree.dll передаёт управление _CorExeMain, а не нативной точке входа в exe файле. На системах до Windows XP, где загрузчик не подозревает о существовании .net, исполняемый файл загружается обычным образом, и для того, чтобы .net приложения могли загружаться и в старых системах, в каждой сборке есть небольшой stub для Windows, состоящий из одной команды:
jmp _CorExeMain
Так вот что мешает написать вместо этой одной команды небольшую программу, которая бы определяла наличие .net, и при его отсутствии давала бы внятное сообщение об ошибке? А обучив загрузчик Windows XP распознавать и загружать .net сборки без участия этого jmp ничего не мешало также позаботиться о нормальном сообщении об ошибке.
Почему исполняемые файлы .net выводят внятную ошибку при попытке запуска под DOS, но под более новой Windows они не могут этого сделать? Для меня это загадка.
Это должен разработчик заботится. При написании инсталяционного скрипта для продукта он должен обнаружить нужное и выдать сообщение чего не хватает.
Да, так говорит Microsoft. Но пользователю никто не запрещает запустить уже установленную программу после переустановки операционной системы. Писали бы в ошибке тогда «Переустановите программу».

Как отлаживать и профилировать любой EXE-файл с помощью Visual Studio / Microsoft corporate blog / Habr

Вам когда-нибудь нужно было отлаживать или профилировать исполняемый файл (файл .exe), для которого у вас нет исходного кода или вы не можете его собрать? Тогда наименее известный тип проекта Visual Studio, проект EXE, для вас!

В Visual Studio вы можете открыть любой EXE-файл как «проект». Просто перейдите в Файл -> Открыть -> Проект/Решение и перейдите к файлу .exe . Как если бы это был файл .sln . Visual Studio откроет этот EXE-файл как проект. Эта функция существует уже давно. Она работает на всех поддерживаемых в настоящее время версиях Visual Studio, и документация по ней находится на странице Отладка приложения, которое не является частью решения Visual Studio.

 

Отладка


Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Для отладки понадобятся символы, файлы PDB, для EXE и любых DLL, которые нужно отладить. Visual Studio будет следовать тому же процессу и попытается получить символы также, как и при отладке обычного проекта. Поскольку маловероятно, что файлы PDB были распространены вместе с EXE-файлом, возможно, вы захотите найти их в сборке или, что еще лучше, на сервере символов. Дополнительную информацию и рекомендации по использованию символов можно найти в этом блоге.

Для эффективной отладки вам также понадобится исходный код, который использовался для сборки EXE, или даже для нескольких файлов, которые вас интересуют. Вам нужно найти эти файлы и открыть их в Visual Studio. Если исходный код не совпадает с исходным кодом, который был собран, EXE Visual Studio предупредит вас, когда вы попытаетесь вставить точку останова, и точка останова не будет привязана. Это поведение может быть изменено в окне Settings peek window. В окне просмотра параметров щелкните текст ссылки Must match source, а затем установите флажок, чтобы разрешить несоответствующий источник, как показано ниже. Конечно, с несоответствующим источником вы никогда не знаете, что произойдет, так что используйте это только на свой страх и риск.

Если EXE был собран с SourceLink, то информация об источнике будет включена в PDB, и Visual Studio попытается загрузить источник автоматически. Это действительно хорошая причина использовать SourceLink с вашими проектами. Даже если у вас есть локальный набор, у вас может не быть той версии, которая использовалась для сборки двоичного файла. SourceLink — ваш надежный способ убедиться, что правильный источник связан с правильным двоичным файлом.

Если вы не можете получить исходный код, у вас еще есть несколько вариантов:

  1. Используйте инструмент для декомпиляции сборок обратно в C#, который вы можете перекомпилировать в новую сборку, чтобы исправить старую.
    1. ILSpy — отличный выбор для этого, но есть и множество других хороших платных и бесплатных инструментов.

  2. Используйте окно инструмента «Disassembly» в Visual Studio.
    1. Документ Source Not Found содержит ссылку на view disassembly. Имейте в виду, что если вы привыкли к отладке кода на C#, представление о разборке (view disassembly) является крайним средством.


Наконец, если вам нужно передать какие-либо аргументы в отлаживаемый EXE-файл, вы можете настроить их вместе с другими параметрами на странице Свойства проекта (Щелкните правой кнопкой мыши -> Свойства в узле проекта в обозревателе решений).

Профилирование


Вы также можете использовать инструменты профилирования с EXE-файлом, запустив их из Отладка -> Профилирование производительности. На странице запуска инструментов профилирования вы можете выбрать, какие инструменты использовать против EXE. Дополнительную информацию о профилировании можно найти в этих документах ( https://docs.microsoft.com/en-us/visualstudio/profiling/profiling-feature-tour?view=vs-2019).

Заключение


Вот и все. Краткий обзор того, как вы можете использовать Visual Studio для отладки и профилирования приложений, которые вы не создаете и которые могут даже не иметь исходного кода. В следующий раз, когда вам понадобится отладить или профилировать EXE-файл, не забудьте, что вы можете открыть его как решение в Visual Studio!

ResourcesExtract — утилита для распаковки файлов EXE, DLL, OCX и CPL

Исполняемые файлы EXE и DLL по своей сути являются архивами или лучше сказать контейнерами, способными хранить в себе различные типы данных, а не только один программный код. В свою очередь это означает, что подобно другим архивам файлы EXE также могут быть распакованы. Правда, обычные архиваторы здесь не помогут, для распаковки этого типа контейнеров нужны специальные утилиты, например, такие как ResourcesExtract.

Эта маленькая, легкая и очень простая утилита прекрасно справляется с распаковкой файлов. В отличие от профессиональных редакторов ресурсов, обычно используемых программистами и позволяющих «вытаскивать» их исполняемых файлов элементы по отдельности, ResourcesExtract работает как примерно так же как обычный архиватор. Она автоматически перебирает файлы в специальной папке, после чего извлекает данные в указанном пользователем месте.

Программа имеет простой и удобный пользовательский интерфейс, представленный одним единственным окном. Установки экстрактор не требует и может запускаться с любого переносного носителя. Утилита позволяет извлекать иконки, статические и анимированные курсоры, видео в AVI формате, файлы карт, манифестов, документы HTML и некоторые другие типы файлов. Что именно должна искать утилита, можно указать непосредственно в рабочем окне.

Из дополнительных возможностей приложения стоит упомянуть обработку вложенных директорий (глубина поиска указывается отдельно), конвертирование файлов карт в формат PNG, перезапись исходных элементов. Чтобы распаковать файл, нужно указать к нему путь, задать директорию для сохранения результатов и нажать кнопку старта. После того как элементы будут извлечены, утилита автоматически откроет содержащую их папку.

Опытные пользователи могут запускать приложение в режиме командной строки, выполнять пакетное сканирование файлов. В целом со своей работой данный экстрактор справляется неплохо, в то же время ResourcesExtract несколько уступает Universal Extractor — другой популярной программе для распаковки контейнеров. Распространяется ResourcesExtract бесплатно, рекламы программа не содержит, совместима с ОС Windows 7, 8 и 8.1. Язык интерфейса — английский.

Сайт разработчика: http://www.nirsoft.net/utils/resources_extract.html

Как разобрать exe файл? - Ответ ЗДЕСЬ!

 

Ну, во-первых, файлы с расширением, exe, это чаще всего программы.

Во-вторых, они бывают разные, и, как правило, на такие файлы устанавливается защита.

И чтобы разобрать такой файл, точнее дизассемблировать его, нужно для начала определить эту защиту, и снять ее.

Для этого применяют специальные программы, например p monitor, или scanner protector.

Но возможно сегодня уже есть и другие.

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

Пожалуй, самый известный дизассемблер, по крайней мере, из тех, что мне известны, пардон за каламбур, это ида про.

Есть, конечно, дасм, и другие, но ида по моему дилетантскому мнению и мощнее, и удобнее, и так далее.

Поэтому я советую именно эту программу.

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

На ассемблере разумеется.

Если же ваш файл с расширением exe, это самораспаковывающийся архив, то открыть его можно, к примеру, в программе винрар, если он не закрыт паролем.

Открываются подобные файлы, как и другие архивы, к примеру с расширением rar, или zip.

Ну а как распаковывать инсталляторы, мне, увы, неизвестно, но думаю, с помощью программ которыми они были созданы, это можно сделать.

Вот примерно так, можно разобрать exe файл.

Как декомпилировать EXE-файлы

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

Способы декомпиляции EXE-файлов

Декомпиляция может быть полезной автору ПО, который потерял исходные коды, или просто пользователям, желающим узнать свойства той или иной программы. Для этого существуют специальные программы-декомпиляторы.

Способ 1: VB Decompiler

Первым рассмотрим VB Decompiler, который позволяет декомпилировть программы, написанные на Visual Basic 5.0 и 6.0.

Загрузить программу VB Decompiler

  1. Нажмите «Файл» и выберите пункт «Открыть программу» (Ctrl+O).
  2. Найдите и откройте программу.
  3. Декомпиляция должна сразу запуститься. Если этого не произошло, нажмите кнопку «Старт».
  4. По завершении внизу окна появится слово «Декомпилировано». В левой части расположено дерево объектов, а в центральной можно просматривать код.
  5. При необходимости, сохраните декомпилированные элементы. Для этого нажмите «Файл» и выберите подходящий вариант, например, «Сохранить декомпилированный проект», чтобы извлечь все объекты в папку на диске.

Способ 2: ReFox

В плане декомпиляции программ, скомпилированных через Visual FoxPro и FoxBASE+, неплохо себя зарекомендовал ReFox.

Загрузить программу ReFox

  1. Через встроенный обозреватель файлов найдите нужный EXE-файл. Если его выделить, то справа будет отображаться краткая информация о нём.
  2. Откройте контекстное меню и выберите пункт «Decompile».
  3. Откроется окно, где нужно указать папку для сохранения декомпилированных файлов. После нажмите «ОК».
  4. По окончании появится такое сообщение:

Можно просмотреть результат в указанной папке.

Способ 3: DeDe

А DeDe будет полезна для декомпиляции программ на Delphi.

Загрузить программу DeDe

  1. Нажмите кнопку «Добавление файла».
  2. Найдите файл EXE и откройте его.
  3. Для запуска декомпиляции нажмите кнопку «Процесс».
  4. При успешном завершении процедуры появится такое сообщение:
  5. В отдельные вкладки будет выведена информация о классах, объектах, формах и процедурах.

  6. Для сохранения всех этих данных откройте вкладку «Project», проставьте галочки рядом с типами объектов, которые нужно сохранить, выберите папку и нажмите «Сделать файлы».

Способ 4: EMS Source Rescuer

Декомпилятор EMS Source Rescuer позволяет работать с EXE-файлами, скомпилированными при помощи Delphi и C++ Builder.

Загрузить программу EMS Source Rescuer

  1. В блоке «Executable File» нужно указать нужную программу.
  2. В «Project name» пропишите имя проекта и нажмите «Next».
  3. Выберите необходимые объекты, укажите язык программирования и нажмите «Next».
  4. В следующем окне исходный код доступен в режиме предпросмотра. Осталось выбрать выходную папку и нажать кнопку «Save».

Мы рассмотрели популярные декомпиляторы для файлов EXE, написанных на разных языках программирования. Если Вам известны другие рабочие варианты, напишите об этом в комментариях.

Мы рады, что смогли помочь Вам в решении проблемы.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Помогла ли вам эта статья?
ДА НЕТ

[решено] Преобразование .exe в читаемый исходный код.

В дополнение к тому, что написал Сергей, и ответам на вопросы в вашем комментарии:

Цитата:

Вы говорите .Net Assemblies, я говорю .Net Application, одно и то же? Сборки
.Net - это либо исполняемые файлы (.exe), либо библиотеки динамической компоновки (.dll), которые используются исполняемыми файлами. Обычно вы относитесь к приложению как к целому продукту со всеми частями, которые ему необходимы для запуска, включая сборки .Net.

Цитата:

Хорошо, давайте будем простыми, я сделал приложение на C #.Net, и теперь у меня есть файл .exe, который я могу использовать для запуска всего приложения.
Итак, может ли кто-нибудь преобразовать его в читаемый исходный код, а затем настроить его?
Теоретически да. На практике это, очевидно, требует усилий, и вопрос будет в том, будет ли кто-то достаточно мотивирован для этого. Предполагая, что вы говорите о потенциальных потерях дохода при продаже приложения: подумайте, будет ли тот, кто взломает ваше приложение, платным клиентом, если он не сможет этого сделать. Возможно нет. Однако есть меры, которые вы можете предпринять, чтобы увеличить количество усилий, необходимых для взлома вашего.] изменяет сборки вашего приложения таким образом, что становится значительно труднее разобраться в исходном коде, полученном в результате декомпиляции, некоторые даже предусматривают меры, чтобы значительно усложнить сам процесс декомпиляции. .

c # - Эффективный способ разобрать большой текстовый файл и работать с данными в нем

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант
.Анализ

- как разобрать файл с данными, разделенными табуляцией, в строке ech в java

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
.

swift3 - Как разобрать файл .txt и получить из него данные в swift 3

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Как разобрать XML-файл результата JUnit и получить тестовый пример в Java-коде?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант
.

[решено] Как разобрать файл проекта Vstudio C # и получить все имена классов и все имена методов и свойства

Я не знаю, как Intellisense работает с Visual Studio, но я прекрасно знаю, как работает проект, и могу точно сказать: анализ проекта не окажет существенной помощи . Проект содержит только структуру проектов: в основном исходные файлы, зависимости и методы обработки исходных файлов (более того, по сути, но я перечислил все, что имеет значение).Доступ ко всем типам и всем их членам, всем метаданным с Reflection довольно прост. Есть только одна проблема: Intellisense показывает даже методы (параметры и т. Д.) Кода, который не компилируется!

Если бы не эта функция, реализация на основе отражения была бы простой. Проект может быть предварительно собран в памяти (важно сделать это в отдельном AppDomain , иначе это вызовет огромную утечку памяти, потому что в противном случае скомпилированная сборка не может быть удалена) и получить метаданные.].

Извините, я не могу дать исчерпывающий ответ. Я просто считаю, что эта информация и соображения лучше, чем ничего. По крайней мере, это может помочь вам не тратить ваше драгоценное время на неправильные пути.

—SA
.

Смотрите также