Изменить текст в exe файле
> Каким образом этого избежать?
1) Никаким - смысла нет шифроваться, если кому-то надо будет, строки все
равно найдут и выкусят.
2) Можешь запаковыать файл upx'ом, но его можно распаковать.
Posted via ActualForum NNTP Server 1.4
А в местах использования вместо char *a = "str"; писать char *a = decrypt("str");
> написать утилиту что при билде - бежит по тексту и криптует его перед
> компиляцей.
>
> А в местах использования вместо char *a = "str"; писать char *a =
> decrypt("str");
>
> что-то типа такого.
>
Эта идея уже обсуждалась. Пришли же ведь к решению, что она
неработоспособна - искомая строка все равно останется в файле.
Это
вот
тут Обсуждений на 2 страницы, с примерами, дизассемблированными
файлами, дампами и т.д.
Posted via ActualForum NNTP Server 1.4
> Компилирую в Visual c++ 2005. Если полученный exe-шник открыть в
> текстовом редакторе, например Notepad++ то среди прочих каракуль можно
> найти любые строки котрые использовались и поменять их значения. Каким
> образом этого избежать?
Криптовать текст. Ключи выдавать только авторизованным пользователям.
Posted via ActualForum NNTP Server 1.4
> Хранить в EXE не сами строки а их хэши.
Как вы из хеша назад строку получите? Это же (если я правильно вас
понимаю) контрольная сумма, по сути.
XDiaBLo wrote:
> Дык в компилированном виде это одно и то же!
Не на всех компиляторах и не обязательно. Только это все равно не
поможет, так как такую последовательноть кода можно легко обнаружить, и
человек, пожелавший изменить строчку, только покрутит у виска и все
равно её переправит.
Зачем надо делать неизменяемость строк, если не секрет?
И вообще, по-моему, лучше не шифровать строки, а проверять целостность
программы, с отказом в запуске, если она была изменена. Хотя и это тоже
можно обойти.
Posted via ActualForum NNTP Server 1.4
Эта идея уже обсуждалась. Пришли же ведь к решению, что она
неработоспособна - искомая строка все равно останется в файле.
неправда есть решение. но пока только для bcb компилятора.
строка остается если темплейтами ходить, а макроассемблер работает на ура.
> то подскажите какая.
UPX.
Posted via ActualForum NNTP Server 1.4
> то подскажите какая.
UPX.Витенька, скажи мне дорогой, сколько по-твоему времени потребуется кулхацкеру для того, чтобы воспользоваться ключиком "-d"?
Posted via ActualForum NNTP Server 1.4
> ЭТО ВСЕГДА И ВЕЗДЕ БУДЕТ ОДНО И ТО ЖЕ!
Нет. Почитайте ссылку, которую я давал ранее. Там страницы через три
будет дизассемблированный листинг либо g++, либо msvc. Так вот. Строка
выкрутасами с макросами приводится к куче mov'ов - по одному на символ.
Только проблема в том, что строка в экзешнике все равно остается, и
последовательность mov'ов найти несложно.
Posted via ActualForum NNTP Server 1.4
> ну хорошо, сделал ты так, чтобы не было видно твоего текста в
> экзе-файле
Вообще-то, автор вообще так и не сказал, на кой черт ему это надо.
Всем привет!
Скажите пожалуйста, чем открыть exe файл для внесения изменений?
Возможно ли открыть этот тип файлов в notepad++
Если да, то по всей видимости необходим какой то плагин?
Дело в том, что я пробую открыть нотпадом, и у меня высвечиваются непонятные значки (как при неверной кодировке).
- Вопрос задан более двух лет назад
- 8604 просмотра
Отладчики предоставляют несколько углубленный анализ и возможности редактирования PE файлов. Код программы тут представлен в виде кодов языка Ассемблера, и без навыков программирования тут не обойтись. Отладчик дает возможность отследить выполнение различных функций и использование переменных.
Дизассемблер, в свою очередь, отличается от отладчиков тем, что пытается предоставить программисту исходный код на одном из языков высокого уровня, так чтобы код был более читаемым и понятным. Дизассемблер IDA Pro, например, максимально точно определяет исходные конструкции функций и процедур, и дает максимально приближенные к оригиналу исходные коды. Такие программы называют также декомпиляторами.
Способов отредактировать EXE файл программы довольно много, но каждый из них требует специальных навыков в программировании.
главная программы 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. Ошибка: Файл повреждён, сжат упаковщиком или защищён протектором.
Данная ситуация не рассматривается, как ошибка программы. Мы не собираемся ни бороться с попытками других авторов программ защитить свои творения от взлома, ни поддерживать распаковку нескольких десятков разных упаковщиков, среди которых есть и коммерчиские продукты, и самоделки.
2. Ошибка: Файл определён, как 16-битный NE Executable. Этот формат не поддерживается!
3. Ошибка: Файл не является EXE или DLL файлом. Вообще!
Resource Tuner определяет файл не по расширению. Если вы переименуете расширение у исполняемого файла, скажем, исправите .EXE на .TXT или вообще удалите расширение, Resource Tuner этим не обманешь: программа при открытии файла анализирует заголовок файла внутри файла, а на расширение вообще не смотрит.
Поэтому, если Resource Tuner вам сообщает, что файл не является исполняемым, то это так оно и есть. Если кто-то зачем-то снабдил текстовый файл в поставке игры расширением .DLL, то от этого файл не перестаёт быть текстовым, и не становится динамической библиотекой. Не дайте расширению файла себя обмануть.
Какие файлы не имеет смысла открывать в редакторе ресурсов
Не смотря на то, что Resource Tuner предназначен для открытия и редактирования любых 32-/64-битных исполняемых файлов, существуют некоторые виды EXE файлов, в которых ресурсы практически отсутствуют.
1. Файлы, созданные при помощи Visual Basic.
В таких файлах в секции ресурсов ничего нет, кроме иконы и информации о версии. Строчки и диалоги в программах, написанных на визуальном бейсике, хранятся в своём собственном закрытом формате, и стандартная секция ресурсов в них не используется.
2. Файлы .EXE размером в гигабайт и более.
3. Самораспаковывающиеся архивы в виде EXE файлов.
В таких файлах в ресурсах ничего нет, кроме иконы и информации о версии, а может и этого не быть. По сути, это архивированные данные, снабжённые подпрограммой для распаковки.
4. Инсталляторы других программ.
В таких файлах в ресурсах ничего нет, кроме иконы и информации о версии. Очень похожи на п.3. Файл инсталлятора можно рассматривать как контейнер, внутри которого содержится другой .EXE файл в сжатом виде и подпрограмма для его извлечения. К тому же, программы для создания инсталляторов используют разные алгоритмы для хранения внутри себя архивированных данных.
Resource Tuner работает на всех версиях Windows
от 2000 и XP до 8 и 10.
Минимальные системные требования:
Процессор Intel Pentium® или AMD K5 166 MHz
16 MB RAM
для этого я объединил 2 файла в самораспаковывающийся архив с использованием IExpress (как видно из этого ответа:объединить msi и exe). Это хорошо работает, однако, самораспаковывающийся архив, который создается, имеет уродливый значок и запутанную информацию о файле (описание файла-"Win32 Cabinet Self-Extractor" с 43 пробелами после него).
Мне нужно заменить значок на мой пользовательский и изменить некоторые свойства файла, такие как" описание"," компания " и т. д. Я хотел бы, чтобы это автоматически делалось как шаг сборки, поэтому программа, которая является утилитой командной строки/консоли, будет отличной.
кто-нибудь знает лучший способ достичь того, что я хочу, или знать о программе, которая может заменить ресурсы исполняемого файла без использования Графический интерфейс?
кстати, я также пробовал Sicomponents ' Resource Builder 3, который даже не может открыть исполняемый файл, и ResEdit, который просто падает, когда я выполняю команду:
Visual Studio может редактировать их при открытии исполняемого файла. Я не уверен, что есть способ сделать это из командной строки.
есть достойные статья CodeProject это касается значков (включая сохранение их в exe-файлы).
название компании, описание и т. д., являются частью ресурса версии. Другой статья CodeProject охватывает обновление ресурса версии, хотя я не смотрел на это подробно.
вы смотрели 'reshacker' АКА 'ресурс хакер'? Он в основном продвигается как инструмент gui, но файл справки говорит, что все его функции можно получить с помощью сценариев командной строки. Я использовал его форму gui для изменения значков внутри exe, и это позволит вам также использовать другие встроенные ресурсы. Просто google для "хакера ресурсов", текущая версия выглядит как 3.4.0
отвечая только на вопрос о версии файла, вы можете включить свою собственную информацию о версии в IExpress .Файл sed. Это сайт предоставляет дополнительные сведения о IExpress .Разделы и атрибуты файла SED. Использование встроенных функций кажется проще, чем после обработки exe-файла установки.
в основном, в рамках .Файл SED, включите ссылку VersionInfo в разделе Параметры. Затем создайте раздел, содержащий вашу версию информация.
Программа для редактирования exe файлов, которая поставляется с поддержкой создания резервных копий и пакетного экспорта. Она позволяет просмотр, замену, добавление, удаление и извлечение ресурсов, расположенных в 32-разрядных и 64-разрядных исполняемых файлах Windows и файлах ресурсов (*.res).
Способ первый: традиционная распаковка
Традиционная распаковка не требует установленных в системе вспомогательных программ. Все, что нужно, — уже предустановлено в Windows.
Итак, процесс распаковки EXE-файла следующий:
- Откройте файловый менеджер «Проводник».
- Перейдите в папку, в которой находится файл с расширением EXE.
- Запустите его. Для этого достаточно дважды кликнуть по его иконке левой кнопкой мыши. Иногда для запуска требуются права администратора — в этом случае вам необходимо сначала нажать правую кнопку мыши, а потом выбрать соответствующий пункт из меню.
- Запустится окно инсталлятора. Именно в нем вам необходимо будет задать параметры распаковки.
- В первом окне вам предложат выбрать язык установщика.
- Затем появится приветственное окно. В нем обычно указано, что именно за программа будет установлена в систему.
- Далее надо будет принять пользовательское соглашение.
- Потом выбрать папку, в которую будут распакованы все файлы.
- После этого вам предложат создать дополнительные ярлыки в меню «Пуск» и на рабочем столе.
- После этого этапа начнется распаковка всех файлов установщика.
Вам остается лишь дождаться завершения этого процесса, после чего можно будет закрывать окно Мастера установок. Вот так просто можно распаковывать EXE-файлы программы.
Какие файлы не имеет смысла открывать в редакторе ресурсов
Не смотря на то, что 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. Все права сохранены.
Динамически подключаемая библиотека или DLL выполняет роль своеобразного исполняемого файла, который многократно используется различными приложениями для осуществления действий. Такое решение позволяет экономить дисковое пространство в несколько раз, а также происходит эффективная организация памяти. Из этого выходит, что на компьютере каждого пользователя хранится множество DLL-объектов, которые можно открыть и не только просмотреть, но и отредактировать.
Способ второй: извлечение установочных файлов
Второй метод кардинально отличается от первого. Если в первом случае нужно было распаковать файлы программы для того, чтобы после этого запустить ее на компьютере, то в этом случае нужно извлечь файлы самого инсталлятора, чтобы произвести с ними манипуляции. В примере представлена специальная программа под названием ResourcesExtract. Работает она следующим образом:
- Скачайте, установите и запустите приложение.
- Появится окно, в котором вам в первую очередь необходимо указать EXE-файл, который вы будете распаковывать. Делается это в поле Filename.
- После этого понадобится указать папку, в которую будут распакованы файлы. Делается это в поле Destination Folder.
- После этого можно приступать к распаковке. Для этого нужно нажать кнопку Start.
- При желании вы можете задать дополнительные параметры. Например, указать, какие именно файлы распаковывать. Делается это в области под названием Resource types to extract.
В итоге в указанной вами папке будут находиться файлы установщика. Вы сможете отредактировать их в любое время.
PE-Explorer
Под первым номером идет довольно распространенный редактор PE-Explorer. В отличие от своего собрата Resource Tuner, он способен редактировать не только ресурсы приложения, но и код. Несмотря на свой почтенный возраст, исправно работает даже в Windows 10. К сожалению, PE-Explorer умеет работать только с 32-битными файлами и при попытке открыть 64-битный бинарник сообщает об ошибке.
Утилита обладает богатой функциональностью: отображает все элементы заголовка РЕ, определяет, к каким DLL происходит обращение, предсказывает поведение программ и логику взаимодействия с другими модулями и даже открывает запакованные UPX, UPack или NSPack файлы. Кроме того, она позволяет просматривать и редактировать секции PE-файла, исследовать содержимое таблиц импорта и экспорта и проверять наличие и целостность цифровой подписи. В качестве «вишенки на торте» тут присутствует полноценный дизассемблер.
Но это только на словах, а на деле мы его сейчас проверим. Из-за того что продукт платный, я использовал триальную версию, готовую работать на протяжении 30 дней. Об урезанных функциях ничего сказано не было.
Запустим редактор и сразу же откроем наше подопытное приложение. PE-Explorer первым делом выводит информацию о заголовке PE-файла. Для получения сведений об остальных разделах достаточно пощелкать кнопки на панели инструментов. Жмем пиктограмму Disassembler и открываем окно для выбора поддерживаемых инструкций: SSE, SSE2 и прочее. Указываем необходимые и начинаем процесс нажатием кнопки Start Now.
В открывшемся окне большую часть занимает область с дизассемблерным листингом, чуть ниже располагается шестнадцатеричный дамп. Если в заголовке нижней панели выбрать вкладку Strings, то отобразятся все строки в исследуемом приложении. Так что поиском можно найти и эталонный пароль. Однако для этого пришлось бы перебрать весь внушительный список доступных строк, так что отложим этот вариант до худших времен.
Так как мы с помощью отладчика нашли адрес инструкции, которая отвечает за ход выполнения программы, то попробуем проверить этот адрес в PE-Explorer: нажимаем Ctrl-F (или Search → Find) и вводим адрес для поиска: 402801.
Что ж, я немного разочарован результатом дизассемблирования. Даже отладчик в этом месте показывает мне инструкцию test, а здесь я вижу лишь начало ее шестнадцатеричного кода: 0х85. При этом я не могу редактировать код! Зачем мне все эти возможности, если утилита не позволяет делать самую базовую вещь?
Я даже не могу списать этот недочет на ограничения демоверсии, так как о ее отличиях от платной ничего толком не сказано. Допускаю, что с теми целями, для которых этот продукт предназначен (статическое изучение приложения и вектора его выполнения), он справляется хорошо. Однако нашим требованиям программа не соответствует, поэтому смело вычеркиваю PE-Explorer из списка кандидатов.
Как распаковать EXE-файлы на Mac
Распаковка в операционной системе Mac происходит совсем другим способом. Для того, чтобы достать сами файлы с EXE, вы можете использовать простой архиватор. Принцип распаковки такой же, как и с архивами. В статье показано, как распаковать EXE-файлы, чтобы после запустить программу на компьютере. Именно таким образом вы можете запускать программы Windows в операционной системе Mac.
Итак, для того, чтобы произвести заявленные действия, вам необходимо выполнить следующее:
После этого вы без проблем сможете запускать файл EXE. Далее запустится инсталлятор, а дальнейшие действия аналогичны тем, что были в Windows.
Ошибки при открытии файла
Если при открытии файла возникает ошибка, то скорее всего по трём причинам: файл защищён, файл 16-битный, или это вообще не исполняемый файл.
1. Ошибка: Файл повреждён, сжат упаковщиком или защищён протектором.
Вероятность того, что файл сжат для уменьшения размера, весьма велика. Упаковщиков и протекторов для исполняемых файлов существует не один десяток, и всё время появляются новые. Resource Tuner поддерживает распаковку только одного, зато самого распостранённого упаковщика — UPX. Остальные упаковщики не поддерживаются, и вам придётся самостоятельно заниматься распаковкой файла, прежде чем вы сможете открыть файл для просмотра или редактирования.
Данная ситуация не рассматривается, как ошибка программы. Мы не собираемся ни бороться с попытками других авторов программ защитить свои творения от взлома, ни поддерживать распаковку нескольких десятков разных упаковщиков, среди которых есть и коммерчиские продукты, и самоделки.
Восстановление запуска exe вручную
Вручную действие будет немного сложнее, но зато не требует установки или загрузки программ, подойдёт для компьютера вне сети. Действия будут выполняться в реестре, поэтому не меняйте лишних параметров, так как это может плачевно сказаться на устойчивости системы.
- Нажмите Win + R и введите regedit;
- Найдите HKEY_CLASSES_ROOT\.exe, проще всего найти среди большого множества разделов, введя название на клавиатуре, только в быстром темпе;
- Правый клик по значению «По умолчанию» и выберите «Изменить»;
- Замените параметр на слово exefile;
- Теперь в том же разделе найдите группу exefile;
- Откройте параметр «По умолчанию» двойным кликом и установите значение “%1” %*
- Далее перейдите внутрь в раздел shell и затем open;
- Теперь снова в «По умолчанию» вставьте значение “%1” %*
- Перезагрузите ПК.
Этот ряд действий позволяет добиться поставленной цели и восстановить ассоциацию файлов exe. Подобным образом можно делать и с другими форматами, но лучше воспользуйтесь специальными утилитами, вроде предыдущей.
Также следует знать, что существуют тяжелые варианты проблемы, когда даже строка «Выполнить» не работает. Тогда нажмите Ctrl+Alt+Del, затем выберите «Файл» и «Выполнить».
Особенности работы с DLL файлами и возможные проблемы
Некоторые DLL не удастся не только изменить, но даже открыть. Это происходит с защищенными библиотеками и проблема не решается без специальных программ для взлома.
Читайте также: