Как редактировать код программы

Как редактировать код программы

главная программы resource tuner руководство

При помощи Resource Tuner вы можете открывать исполняемые файлы, такие как .EXE, .DLL, .OCX, скринсейверы (.SCR) и многие другие. Открыв файл, вы получаете доступ к ресурсам файла и можете заменять иконы, курсоры и графику в различных форматах, изменять строчки в меню, диалоговых окнах и других элементах пользовательского интерфейса.

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

Для более серьёзных изменений (которые, впрочем, ни к чему хорошему не приведут без достаточного опыта в программировании приложений для Windows) рекомендуем использовать PE Explorer (редактор структуры PE файлов) или FlexHex (хекс-редактор для бинарных файлов).

Открытие EXE или DLL файла в Resource Tuner

Resource Tuner поддерживает несколько способов открытия файлов. Чтобы открыть файл для просмотра и редактирования, нажмите кнопку Open File на панели инструментов или выберите команду File > Open [CTRL+O] из меню. Выпадающее меню рядом с кнопкой на тулбаре даёт вам быстрый доступ к списку последних открывавшихся файлов. Этот же список можно получить командой File > Recent Files из меню программы. Количество файлов в списке настраивается в диалоге Customize.

Вы также можете открыть файл при помощи Resource Tuner прямо из Проводника Windows, щёлкнув по файлу правой кнопкой и выбрав Open with Resource Tuner из контекстного меню.

Или вы можете просто перетащить и бросить иконку файла из Проводника Windows на иконку Resource Tuner на рабочем столе или на окно запущенного Resource Tuner.

Вы так же можете открыть файл из командной строки.
Например: restuner.exe filename.exe

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

При открытии файла Resource Tuner производит несколько автоматических операций: распаковывает файл, если обнаруживается, что он был запакован при помощи UPX, затем идёт проверка структуры и ресурсов файла на возможные ошибки, и наконец перестройка повреждённых ресурсов в соответствии со спецификацией формата исполняемых файлов.

Ошибки при открытии файла

Если при открытии файла возникает ошибка, то скорее всего по трём причинам: файл защищён, файл 16-битный, или это вообще не исполняемый файл.

1. Ошибка: Файл повреждён, сжат упаковщиком или защищён протектором.

Вероятность того, что файл сжат для уменьшения размера, весьма велика. Упаковщиков и протекторов для исполняемых файлов существует не один десяток, и всё время появляются новые. Resource Tuner поддерживает распаковку только одного, зато самого распостранённого упаковщика — UPX. Остальные упаковщики не поддерживаются, и вам придётся самостоятельно заниматься распаковкой файла, прежде чем вы сможете открыть файл для просмотра или редактирования.

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

2. Ошибка: Файл определён, как 16-битный NE Executable. Этот формат не поддерживается!

Читайте также:  Excel файл открывается но не отображается

Наши программы работают только с 32- и 64-битными PE файлами. Формат NE (сокращение от "New Executable") — это формат 16-битных приложений, оставшийся в наследство от старых версий Windows 3.xx. С появлением Windows 95 этот формат считается устаревшим и не используется, хотя и может исполнятся на современных платформах от Microsoft. Мы не поддерживаем 16-битные файлы и не собираемся их поддерживать.

3. Ошибка: Файл не является EXE или DLL файлом. Вообще!

Resource Tuner определяет файл не по расширению. Если вы переименуете расширение у исполняемого файла, скажем, исправите .EXE на .TXT или вообще удалите расширение, Resource Tuner этим не обманешь: программа при открытии файла анализирует заголовок файла внутри файла, а на расширение вообще не смотрит.

Поэтому, если Resource Tuner вам сообщает, что файл не является исполняемым, то это так оно и есть. Если кто-то зачем-то снабдил текстовый файл в поставке игры расширением .DLL, то от этого файл не перестаёт быть текстовым, и не становится динамической библиотекой. Не дайте расширению файла себя обмануть.

Какие файлы не имеет смысла открывать в редакторе ресурсов

Не смотря на то, что Resource Tuner предназначен для открытия и редактирования любых 32-/64-битных исполняемых файлов, существуют некоторые виды EXE файлов, в которых ресурсы практически отсутствуют.

1. Файлы, созданные при помощи Visual Basic.

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

2. Файлы .EXE размером в гигабайт и более.

Поскольку Resource Tuner — это 32-битная программа, существуют естественные ограничения для размещения образа открываемого файла в виртуальной памяти в пределах первого гигабайта. Файл размером в гигабайт и более туда просто не поместится.

3. Самораспаковывающиеся архивы в виде EXE файлов.

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

4. Инсталляторы других программ.

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


Resource Tuner работает на всех версиях Windows
от 2000 и XP до 8 и 10.

Минимальные системные требования:
Процессор Intel Pentium® или AMD K5 166 MHz
16 MB RAM

Copyright © 2020 Heaventools Software. Все права сохранены.

The Codeby

ООО Кодебай

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

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

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

Читайте также:  Как подключить цифровую приставку к телевизору panasonic

Для хранения путей в программе используются две текстовых переменных: 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 — указываем имя и расширение нового файла.

Читайте также:  Как работает факс panasonic

Если компиляции прошла успешно, то в окне консоли вы должны увидеть сообщение, которое выделено на картинке, а внутри папке “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 но оно не может прочитать пату файлов точнее отобразить язык.

Всем привет!
Скажите пожалуйста, чем открыть exe файл для внесения изменений?
Возможно ли открыть этот тип файлов в notepad++
Если да, то по всей видимости необходим какой то плагин?
Дело в том, что я пробую открыть нотпадом, и у меня высвечиваются непонятные значки (как при неверной кодировке).

  • Вопрос задан более двух лет назад
  • 11567 просмотров

Если вы ожидали найти там исходники, такого не будет. .exe содержит скомпилированный код и ресурсы типа иконок, библиотек, диалогов. Если ресурсы относительно несложно поменять через всякие Resource Editor, то чтоб модифицировать .exe файл, нужно его дизассемблировать, понять устройство ассемблерного кода и внести изменения вручную, это далеко не так просто. Например, этим занимаются при взломе программ — кейгены, патчи, кряки.

Ответ на ваш вопрос будет таков:
Просто "открыть" можно через 7-zip
Незащищенные .exe дизассемблируются через IDA Pro
Запакованные или защищенные .exe нужно предварительно распаковать (в самом тупом случае — через UPX, в сложных — дизасмить распаковщик и динамически отлаживать)

Ссылка на основную публикацию
Как разблокировать телефон samsung galaxy j1 mini
Характеристики Samsung Galaxy J1 mini Отзывы о Samsung Galaxy J1 mini Инструкция Samsung Galaxy J1 mini Прошивка Samsung Galaxy J1...
Как поставить темную тему на яндекс браузер
Многие разработчики программ и сервисов стараются добавлять альтернативное оформление в виде темного интерфейса. Замена белого цвета удобна тем, кто много...
Как поставить фото в телеграмме на аватарку
Как в Телеграмме поставить фото на аву (аватар) — ведь трудно недооценить ее значение, картинка в профиле не только формирует...
Как разблокировать флешку от защиты записи
Извиняюсь за заголовок, но именно так задают вопрос, когда при действиях с USB флешкой или SD картой памяти Windows сообщает...
Adblock detector