Как разобрать программу на исходный код

Как разобрать программу на исходный код

Аудиофрагменты. А значит, актуален вопрос их извлечения из исполняемого файла.

  1. Расширение exe могут иметь самораспаковывающихся архивов. Это архивы, в которые включен модуль распаковки, благодаря чему они могут быть распакованы на , где отсутствует -архиватор, что достаточно удобно. Открыть такой файл можно с помощью -архиватора, аналогично любому другому файлу архива с более привычными пользователю расширениями zip или rar. Впрочем, просто запустив такой файл, пользователь также получит распакованную с содержащимися в нем файлами.
  2. Если интересует сам исполняемый код программы, то его можно просмотреть с помощью дизассемблера или иных инструментов, хорошо известных программистам. В частности, подобные инструменты включены в состав пакета Visual Studio. Правда, чтобы разобраться в полученном коде, необходимо иметь квалификацию программиста.
  3. Возможность открыть exe файл для того, чтобы просмотреть и отредактировать содержащиеся в нем ресурсы — , звуковые фрагменты и т. п. — предоставляют такие программы, как ResHacker, Restorator, ExeScope, PE Explorer.
  • как открыть файл exe если он не запускается: решение.

Ехе – основное расширение программ в операционной системе Windows. Но что делать, если у вас, например Мас, который не позволяет открывать файлы такого типа. Выход есть. Если у вас процессор Intel одной из последних версий, то можно воспользоваться небольшой утилитой от Apple для открытия файлов с расширение ехе.

  • — компьютер;
  • — Boot Camp Assistant;
  • — диск с операционной системой Windows;
  • — диск с операционной системой Мас.

Откройте Boot Camp Assistant. Дважды кликните левой кнопкой мышки по иконке запуска программы, которая располагается в директории Applications/Utilities/boot camp assistant. Освободите достаточно места на жестком диске, чтобы установить операционную систему Windows XP (полезная информация: Windows XP занимает около 1,5 гб, Windows Vista – 20-40 гб, Windows 7 – 20гб).

Создайте специальный раздел на жестком диске для операционной системы Windows XP. Вставьте диск с этой операционной системой в ваш привод. В окне автоматического запуска нажмите «Начать установку». После этого компьютер перезагрузится, и начнется установка. После того, как компьютер перезагрузился, выберите только что созданный с помощью Boot Camp Assistant раздел. Производите установку именно в него. В противном случае, если вы установите операционную систему в обычный раздел Мас, то все ваши данные будут автоматически уничтожены.

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

Но есть способы полностью или частично раскрыть код.

  • IDA Pro — самый лучший из безплатных взломщиков, некоторые макросы возможно позволяют преобразовать код назад. Но не всегда. Особо хорошо раскрываются borland-продукты.
  • Hiew.Exe бесплатная утилита, очень маленькая, позволяет править код на языке ассемблера. Можно править текстовые и целые константы. Можно ею даже сделать "перевод" программы на другой язык, затереть имя фирмы и т.п.
  • Если есть PDB-файл, или подшита debug-info к файлу то код можно получить в среде разработки (если debug-info полная) редко можно использовать. Исходный код получить нельзя, но можно получить "номера строк и имена исходников", а так же имена/значения всех констант, локальных переменных, избежать "раздроблености функций" а так же получить классы с начинкой класса (почти все структуры кроме текста программы) что значительно упростит понимание работы программы. Для некоторых библиотек (dll) pdb-файлы можно скачать отдельно. Врядли уважающая себя фирма допустит утечку pdb своего стоящего продукта.
  • Debug info, существует DebugInfo-информация встроеная в exe. Если есть такая информация, и соответствующая утилита (Например на Borland Delphi собран, и он есть в наличии), то можно сделать аналогичное предыдущему пункту. Но врядли уважающая себя фирма допустит такую "глупую" ошибку (аналогично pdb).
  • Если файл написан на с# его можно почти полностью просмотреть в кодах с помощью disSharp (такие программы "подключают" в таблице импорта лишь mscorlib и всё). DisSharp плохо дизассемблирует некоторые части программы, но возможно его платная версия или платная версия подобных утилит раскрывает код лучше.
  • Если файл написан на FoхPro, clipper и других подобный байт-кодовых языках — он раскрывается спец-утилитами (Refox например).
  • Утилита exescope.exe ResourceHacker.exe и её-подобные утилиты позволяют смотреть шапку, подключенные библиотеки (по ним можно понять на чём писана программа) и редактировать ресурсы программы (ресурс-формы в.т.ч. delphi, иконки, картинки, таблицы ресурсо-строк).
  • Если извесно чем создан код — думаю есть специальные утилиты способные его раскрыть (они платные и малодоступные).
Читайте также:  Как отформатировать жесткий диск не удаляя windows

Опять-же, это при условии что нету паковщика кода (тогда нужно сначала применить депаковщик), шифровальщика/самомодифицирующегося кода. Если не разбит обфускатором так что не распутать. Чем больше код — тем сложнее разобраться.

P.S. Лично моё мнение — раскрывается-взламывается всё, но на это нужно потратить много-много времени. Возможно год и более (зависит от опыта и инструментов, в свободном доступе хороших инструментов нету).

Редакторы ресурсов — это специализированные программы для просмотра, создания и изменения ресурсов PE-файлов. С их помощью можно, например, разблокировать пункты меню в шароварной программе, поменять иконку приложения, изменить внешний вид диалоговых окон, выполнить перевод интерфейса и т.п. У каждого специалиста по реверсу есть свой любимый редактор ресурсов, поэтому нельзя сказать, что какой-то из них лучше или хуже. Очень часто для решения разных задач требуются функции какого-нибудь конкретного инструмента, и в этой статье я попробую вкратце рассказать о самых популярных редакторах ресурсов исполняемых файлов.

Restorator — пожалуй, самый известный редактор ресурсов исполняемых файлов в формате exe, dll, ocx, scr, res и других. Позволяет создавать и редактировать стандартные файлы ресурсов.RES, извлекать и добавлять в файл свои ресурсы. Но главное преимущество Restorator в том, что результаты ваших трудов можно несколькими кликами мышки оформить в виде небольшого патча. Таким способом, например, создано огромное количество русификаторов для различных программ. Из замеченных недостатков первый косяк — это необходимость заплатить за использование программы (в прилагаемых вариантах эта проблема уже решена), а второй — дурацкая привычка гадить строчкой "Bome" в служебных полях иконок отредактированного файла.

eXeScope — мой любимый редактор. Очень шустро работает с ресурсами, можно быстро посмотреть диалоговые окна, вытащить или поменять иконки и картинки, но особенно меня радует работа с ресурсами файлов, написанных на Delphi. Иногда возникают проблемы с ресурсами распакованных файлов, в этом случае обычно помогает пересборка секции ресурсов файла перед отправкой его в редактор. eXeScope тоже платный, но эта проблема тоже давно решена. Если предпочитаете английский интерфейс, то удалите файл eXeScope.RUS из каталога программы.

PE Explorer предназначен для просмотра и редактирования внутренней структуры исполняемых файлов, таких как EXE, DLL, ActiveX и другие. В состав PE Explorer входят редактор ресурсов, редактор секций, дизассемблер, сканер зависимостей, анализатор цифровых подписей и другие незаменимые в работе исследователей программ инструменты. С помощью PE Explorer очень просто анализировать, редактировать или оптимизировать проблемные файлы, переводить интерфейсы на другие языки. Авторы этого поделия те же, что и предыдущего, со всеми вытекающими последствиями. Но заграница снова нам поможет .

Resource Builder — еще одна коммерческая разработка в арсенале редакторов ресурсов. Используя Resource Builder, редактирование ресурсов становится простейшей задачей. В этом редакторе представлен полный набор очень удобных и понятных инструментов для всех типов ресурсов. Встроенный линковщик обновит ресурсы прямо в исполняемых модулях без перекомпиляции, а создание библиотек ресурсов (Resource Only DLLs), используемых для локализации приложений, займет всего пару щелчков мыши. Взять бесплатно этот полезный инструмент можно на сторонних ресурсах: и два .

— бесплатный просмотрщик и редактор ресурсов исполняемых файлов. Скачать можно , а для разработчиков в открытый доступ там же выложены исходные тексты редактора. Вот, учитесь, шароварщики, как надо работать.

RCE — редактор ресурсов для визуального создания и редактирования RC-файлов, может быть использован совместно с IDE или применяться с другими редакторами ресурсов в качестве вспомогательного инструмента. Напрямую с исполняемыми файлами не работает, поэтому особой пользы от RCE я не вижу.

EXE — это расширение для программ в ОС DOS и Windows. Формат Exe относится к группе исполняемых файлов, которые содержат все данные для установки приложения. Чтобы компактно распространить установочный файл используются алгоритмы сжатия.

Читайте также:  Активировать windows 7 loader by daz

Содержимое файла

Объект с расширением EXE встречается в ОС Windows. Программа exe содержит сценарии и скомпилированный программный код, запускающий установку приложений. Содержимое объекта EXE включает:

  • Программные ресурсы — графика и другие медиа-элементы, а также сжатые пакеты (.package) классов программного кода;
  • Формы объектов (битмапы, листы, иконки приложений);
  • Информация для загрузчика файла;
  • Модуль запуска инсталляции.

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

После распаковки исполняемого файла в операционной системе начинается инициализация всех программных классов и установка приложения.

Программы для открытия EXE

В Windows Exe объект открыть можно с помощью стандартного установщика или утилиты 7Zip . Для запуска файла достаточно дважды кликнуть по нему мышкой или запустить объект через меню архиватора. Для запуска в MacOS следует установить эмулятор ОС Windows и в нем открыть файл Exe.

EXE может быть не только модулем установки программы, но и самораспаковывающимся архивом. Запуск Exe файлов позволяет его содержимому распаковаться в указанную пользователем или самим архивом папку.

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

Ну посмотришь на код. А дальше что?
Ни внятных имен переменных и функций, ни комментариев, что, зачем, для чего.

в большинстве случаях — ассемблерный код.

Согласен с HANDLE
Код будет настолько уродский, что проще написать свой, чем читать декомпиленый.

И вообще все зависит от цели.
Если хочешь взломать игру на NoCD — одно, а если просмотреть/изменить алгоритмы физики и рендеринга, то другое.. .

The Codeby

ООО Кодебай

Как изменить код программы, если потерян исходник

Бывают ситуации, когда под рукой нет исходника, а Вам срочно требуется внести изменения в коде, написанной ранее Вами программы. Например, дано приложение «TextEdit.exe» — текстовый редактор, написанный на языке c#, который имеет простой пользовательский интерфейс, состоящий из двух кнопок и текстового поля.

При нажатии на кнопку “Чтение” из файла 1.txt считываются и выводятся все строки в окно элемента управления textBox, а при нажатии на кнопку “Запись” данные из текстового поля сохраняются в файле 2.txt

Для хранения путей в программе используются две текстовых переменных: filePathIn и filePathOut

Прошёл год, как программа была написана и отдана заказчику, но вдруг ему потребовалось изменить имя папки, в которой должны храниться оба файла, c 123 на Text. Задача простая, но прошло уже много времени, и исходник был потерян, что делать в такой ситуации?

Для начала вспомним, как образуется .NET сборка

Полученный в результате компиляции файл (сборка) содержит внутри себя метаданные, манифест, код на языке IL (MSIL).

Метаданные — описывают типы данных и их члены

Манифест описывают саму сборку

MSIL код, полученный в результате компиляции файла исходного кода

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

Данный инструмент входит состав пакета .Net Framework SDK, который является бесплатным и устанавливается вместе с Visual Studio (включая Express версию). С помощью него вы можете, как просматривать внутреннее содержимое сборки, так и изменять его.

Для удобства работы создадим отдельную папку, например: ”c:
ewasm” и поместим в неё файл TextEdit.exe

Затем в меню “Пуск” открываем папку: «Visual Studio Tools»

Запускаем командную строку разработчика

Откроется консоль, вводим первую команду: ildasm. Для выполнения команды нажмите клавишу Enter.

Читайте также:  Загрузка данных из табличного документа события

Появиться главное окно программы.

Переместим файл сборку TextEdit.exe в окно дизассемблера ILASM, в результате отобразиться её внутреннее содержимое.

Убедимся, что в ней содержатся нужные нам данные (пути к файлам).

Два поля на месте, теперь взглянем на метаданные.

Для доступа к метаданным Вы так же можно использовать сочетание горячих клавиш: Ctrl+M. Затем с помощью кнопки Find, найдём имя одного из файлов.

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

Выберите пункт меню File -> Dump

Появится меню. В данном примере, все пункты меню оставим без изменений и просто нажмём кнопку OK.

Появится диалоговое окно

Выберем ранее созданную папку “newasm”, затем укажем имя и тип файла и нажмём на кнопку “Сохранить”

В результате в папке “newasm” должно появиться несколько новых файлов

Закрываем окно ildasm, а так же удаляем файл Textedit.exe, больше он нам не понадобиться. Теперь нас интересует полученный файл texted.il и для начала откроем его любым текстовым редактором, например блокнотом.

Снова воспользуемся поиском (Ctrl+F)

Так же видим найденные строки, которые содержат пути к файлам.

Изменим текущее имя папки 123 на новое название Text, для обоих файлов

Сохраняем внесённые изменения и закрываем блокнот.

Изменения внесены и теперь нужно преобразовать файл txted.il обратно в исполняемый файл (.exe) Для этого нам понабиться второй инструмент ILASM, ассемблер, который так же входит в состав пакета SDK и не требует отдельной установки.

Возвращаемся в консоль

Вводим вторую команду:

Первый параметр: /exe — указывает компилятору, что на выходе мы хотим получить файл с расширением .exe. Затем указываем файл, который содержит MSIL-код. С помощью второго параметра /output — указываем имя и расширение нового файла.

Если компиляции прошла успешно, то в окне консоли вы должны увидеть сообщение, которое выделено на картинке, а внутри папке “newasm” должен появиться новый файл TextEdit.exe, который теперь уже содержит новые пути к файлам.

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

Вложения

The Codeby

ООО Кодебай

Сергей
Четверг на 02:09
Здравствуйте, когда пытаюсь открыть файл exe в редакторе LD DASM у меня появляется ошибка «отсутствует допустимый заголовок CLR поэтому дизассемблирование невозможно» что это? и можно как нибудь исправить?

admin
Пятница на 10:09
Программа (файл) на каком языке написана?

Иван
Суббота на 10:09
Добрый день. Такая же ситуация. Пытаюсь открыть файл exe в редакторе LD DASM у меня появляется ошибка «отсутствует допустимый заголовок CLR поэтому дизассемблирование невозможно». Файл написан на Delphi.

admin
Воскресенье на 09:09
Привет.
Эта утилита предназначена только для просмотра кода написанного на языке IL (MSIL) — это промежуточный язык, в который компилируется код .NET языков. Полученный в результате компиляции файл (сборка) содержит CLR заголовок. Затем, во время запуска приложения, выполняется вторая компиляция, которая превращает полученный код IL в машинный.

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

Иван
Понедельник на 12:09
А как-то нормально можно посмотреть код, если есть уже окончательный exe и несколько dll проекта?

admin
Понедельник на 09:09 ПП
Что значит «нормально посмотреть код» ?

Иван
Среда на 03:09 ПП
Ну чтобы взять код себе в другой проект

admin
Четверг на 11:09
Есть вроде какие-то, но не помню названия, потому что не использую их.

Анатолий
Четверг на 12:02 ПП
Можете, помочь как я хочу переписать лаунчер для игры, что бы изменить проверку файлов но не могу никак открыть его. Пробывал через ресторатор 2007 но оно не может прочитать пату файлов точнее отобразить язык.

Ссылка на основную публикацию
Как поставить старую версию скайпа
Программа Skype, как и любой другой активно развивающийся софт, постоянно обновляется. Однако не всегда новые версии выглядят и работают лучше...
Как повернуть диаграмму на 90 градусов
Научимся вращать (поворачивать) график функции относительно начала координат. Для примера используем график функции y=x*sin(10*x). Координаты (x'; y') в результате поворота...
Как повернуть купольную камеру видеонаблюдения
Страница 12 5 Регулировка положения видеокамеры Положение купольной видеокамеры можно регулировать по двум осям. Следя за изображением на мониторе, отрегулируйте...
Как поставить фотографию на контакт в андроид
На любом смартфоне реализована возможность установки изображения на телефонный контакт. Оно будет отображаться при поступлении входящих звонков от этого контакта...
Adblock detector