Программы для упаковки файлов в exe
Запаковка музыки в exe файл при компиляции
Погуглив, разобрался с упаковкой картинок в exe файл после компиляции. Но никак не могу решить.
Запаковка файлов с данными
Здравствуйте! У меня есть проект, он подгружает некоторые текстовики, картинки и прочее.
Запаковка файлов в один пакет
Доброго дня всем! Прошу прощения за возможно ламерский вопрос Дело такое. Я запаковую некоторое.
сейчас в личку дам
, а ты мне даёшь в формате *.zip; давай в *.exe, как сам и написал. файл лежит в архиве про который я писал, а название его cfPro.exe Вообщем скачал файл он в формате .exe и распаковал его с помощью 7z опиши действия. Я насколько знаю, экзешник можно удалить, переместить, скопировать, удалить, загрузить в отладчик, в hex-редактор. Запустить на исполнение в конце концов. Запаковать ещё (упаковщиком), сжать. Но распаковать с помощью 7z- это что-то новенькое для меня.Я почему сам с ним не эксперементирую- у меня антивирус орёт на него благим матом.
да что тут описывать, скачал, правой кнопкой по икзешнику 7-Zip далее Extract files и всё, после появилась папка с файлами, а вот как запаковать обратно я не знаю, весь день в гугле провел и не нашел чем запаковать.
Добавлено через 3 минуты
кстати по поводу антивируса, можешь не беспокоиться, файл не навредит тебе.
Ладно. А кто тебя вообще научил, что его надо распаковывать, а не запускать? Ты ведь наверное, где-то прочёл это? Типа инструкции. На мой взгляд такое употребление экзешника очень нестандартно, угадать, что его надо распаковывать, а не запускать, да ещё 7z ты сам не мог. Наверное, где-то это почёл. Где? Это может помочь!
Добавлено через 23 секунды
да я не где не читал, почему 7-z? Ну наверно потому что это первый архиватор который мне в голову пришел
Добавлено через 2 минуты
этот икзешник пакован не винраром, а вот чем? Я уже кучу программ перепробовал и не выходит.
Не почему 7z, а почему РАСПАКОВЫВАТЬ. Я уже говорил и повторюсь- распаковка экзешника крайне нестандартная ситуация. У меня на компе перебывало немеряно экзешников и собственных и чужих и ни один не подлежал распаковке, а только запуску.
И вдруг я узнаю, что экзешники можно распаковывать. Откуда ты это узнал? Я вот от тебя узнал, а ты откуда?
Вам уже сказал Мотороллер - WinRar'ом. Ваш файл именно им и запакован (+ накрыт сверху Enigma Protector v3.70 Build 2015/02/27 - Protected with a Company license). запаковываю винраром, пытаюсь запустить и не запускается, открывается окно разархивирование.это я знаю.. Винрар делает только самораспаковывающие архивы. Но не как не .exe запускаторы.
Добавлено через 1 минуту
Ну возьмите тот файл я ссылку дал на него и посмотрите
Теперь ваша очередь смотреть.
Откройте в любом вьювере (FAR, например), и загляните в конец вашего "запускатора". Строка ";Расположенный ниже комментарий содержит команды SFX-сценария" принадлежит SFX-скрипту WinRar (русская версия). + кто-то, не имеющий понятия о защитах, навесил на этот SFX-скрипт протектор (это, примерно, как поставить бронированную дверь в брезентовую палатку).
Запаковка файлов в архив с расширением pack
Есть игровой архив pack и скрипт для его распаковки в проге quickbms. Распаковав его и.
Распаковка и запаковка файлов в архивы - нужен графический вид
Добрый день! Подскажите пожалуйста, есть два Bat файла @echo off "C:\Program Files\7-Zip\7z" x.
Вместо запуска EXE файлов открывается сайт браузер с предложением скачать файл с названием EXE
Логи отсутствуют, т.к. не могу запустить автологер. Вместо запуска EXE файлов открывается сайт.
Запаковка
Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб. Сложность Гамма .
Привет, хабровчане. В рамках курса "Reverse-Engineering. Basic" Александр Колесников (специалист по комплексной защите объектов информатизации) подготовил авторскую статью.
Также приглашаем всех желающих на открытый вебинар по теме «Эксплуатация уязвимостей в драйвере. Часть 1». Участники вебинара вместе с экспертом разберут уязвимости переполнения в драйверах и особенности разработки эксплойтов в режиме ядра.
Статья расскажет о подходах к анализу запакованных исполняемых файлов с помощью простых средств для обратной разработки. Будут рассмотрены некоторые пакеры, которые применяются для упаковки исполняемых файлов. Все примеры будут проведены в ОС Windows, однако изучаемые подходы можно легко портировать на любую ОС.
Инструментарий и настройка ОС
Для тестов будем использовать виртуальную машину под управлением ОС Windows. Инструментарий будет содержать следующие приложения:
установленный по умолчанию плагин x64dbg Scylla;
Самый быстрый и простой способ провести распаковку любого исполняемого файла — применить отладчик. Но так как мы будем также рассматривать язык программирования Python, то может понадобится проект:
uncompile6 проект, который позволяет разобрать байткод виртуальной машины Python;
pyinstallerExtractor инструмент для распаковки архива pyInstaller.
Общие методы снятия паковки
Разберемся, что же такое паковка. В большинстве случаев исполняемые файлы современных языков программирования имеют довольно большой размер при минимальном наборе функций. Чтобы оптимизировать данную величину, можно применить паковку или сжатие. Наиболее распространенный на сегодняшний день пакер — UPX. Ниже приведен пример того, как пакер проводит сжатие исполняемого файла.
На картинке может показаться, что файл стал по размеру больше, однако это не всегда так. Большинство файлов за счет такой модификации могут уменьшить свой размер до 1.5 раз от исходного объема.
Что же от этого реверс-инженеру? Почему надо знать и уметь определять, что файл упакован? Приведу наглядный пример. Ниже приведен снимок файла, который не запакован:
И файл, который был пропущен через алгоритм UPX:
Изменения коснулись в этом случае двух основных точек исполняемого файла:
Точка входа — в случае с упакованным файлом это начало алгоритма распаковки, настоящий алгоритм программы будет работать только после того, как будет распакован оригинальный файл;
Код оригинального файла: теперь не найти паттернов, которые можно сразу разбирать как команды.
Итак, чтобы снова анализировать оригинальный файл, нужно найти настоящую или оригинальную точку входа. Для этого нужно разбить алгоритм на основные этапы:
Этап подготовки исполнения файла — загрузчик ОС настраивает окружение, загружает файл в оперативную память;
Сохранение контекста — упаковщик сохраняет контекст исполнения файла (набор значений регистров общего назначения, которые были установлены загрузчиком ОС);
Распаковка оригинального файла;
Передача управления оригинальному файлу.
Все описанные выше этапы можно легко отследить в отладчике. Особенно может выделяться процедура сохранения контекста. Для нее в разных архитектурах могут быть использованы команды pushad/popad или множественное использование команды push . Поэтому всегда приложение трассируют до первого изменения регистра ESP/RSP, и ставят "Hardware Breakpoint" на адрес, который был помещен в регистр в первый раз. Второе обращение этому адресу будет в момент восстановления контекста, который заполнил загрузчик ОС. Без него приложение завершится с ошибкой.
Пример UPX
Попробуем с помощью отладчика найти оригинальную точку входа для приложения. Запечатлим оригинальную точку входа до упаковки UPX:
Как та же точка входа выглядит после упаковки:
Запустим отладчик и попробуем найти место сохранения контекста:
Ждем первого использования ESP — в отладчике при этом значение регистра подсветится красным цветом. Затем устанавливаем точку останова на адрес и просто запускаем приложение:
В результате попадаем на оригинальную точку входа:
Вот так просто, теперь используя плагин Scylla Hide можно сохранить результирующий файл на жесткий диск и продолжить его анализ.
Подобный метод можно применять для любого упаковщика, который сохраняет контекст на стек.
Пример PyInstaller
Не всегда подобный подход работает для приложений, которые используют более сложную структуру исполняемого файла. Рассмотрим файл, который был создан с помощью PyInstaller — пакет, который позволяет преобразовать Python скрипт в исполняемый файл. При генерации исполняемого файла создается архив, который содержит виртуальную машину Python и все необходимые библиотеки. Сам исходный код приложения при этом преобразуется в байт код и его нельзя дезассемблировать.
Попробуем все же получить что-то читаемое. Создадим простое приложение на Python и упакуем с помощью PyInstaller. Исходный код приложения:
Установим пакет pyInstaller и создадим exe файл:
Итак, проведем сбор информации о том, что в итоге получилось. У нас есть архив, который должен запустить виртуальную машину, и код, который мы записали в виде скрипта. Попробуем восстановить исходник и просто его прочесть даже без запуска.
После выполнения команд выше, у вас должна создаться директория ./dist/test.exe . Откроем последовательно файл с помощью pyinstallerextractor и uncompile3 :
Наш скрипт находится в директории, которая создается в результате распаковки. Наименование файла должно соответствовать названию exe файла. В нашем случае это test.pyc . Откроем его в hiew :
Декомпиляция стандартными средствами невозможна, так как инструменты просто не умеют работать с байткодом Python. Применим специализированный инструмент — uncompile6 .
Каждый новичок, изучающий пайтон сталкивается с проблемой упаковки своей программы в единый исполняемый файл.
Поскольку пайтон интерпретируемый язык программирования скомпилировать его в единый файл проблематично. Но не невозможно.
Для решения этой проблемы пайтон-разработчики идут на хитрость: в пакет программы "копируют" интерпретатор пайтон. Однако сделать это нужно правильно. И для этой цели обычно используют либо библиотеку pyinstaller , либо cx_freeze.
Pyinstaller позволяет упаковать программу чуть ли не в 2 клика. Однако если у вас есть дополнительные файлы, либо вы импортировали дополнительные библиотеки, скорее всего, pyinstaller не сможет их найти и у вас ничего не получится.
Поэтому я советую для сложных приложений использовать cx_freeze. И сразу скажу, все не так страшно, как может показаться. Мне удавалось запаковать игры с музыкой, картинками и все работало. Работаю я в Windows, а документацию библиотеки смотри здесь .
Шаг 1.Установка библиотеки cx_Freeze
Устанавливаем библиотеку cx_Freeze с помощью pip.
Вводим в командной строке:
Если появляется ошибка, то попробуйте добавить флаг --user.
Шаг 2. Напишем код, который запакует нашу программу.
В пакете нашей программы создаем файл с названием setup.py, в которую вписываем код, который запакует нашу программу. У меня была игра, и код компилятора выглядел так:
from cx_Freeze import setup, Executable
Шаг 3. Корректируем код
В третьей строке вписываем название файла, запускающего программу и название итогового файла exe.
Конвертировать иконку можно здесь .
В includes и zip_include_packages мы указываем те модули, которые мы использовали, чтобы python не забыл их запаковать.
В include_files мы указываем путь ко всем дополнительным файлам, которое использует наше приложение. Если у вас иерархия папок, а не все файлы скопом лежат в одной, то не забудьте в пути это указать.
В функции options ничего не исправляем.
В setup исправляем name - указываем имя главного файла, в version - версию приложения, а в description - описание приложения.
Ошибка с шрифтами
Шаг 3. Запаковываем.
Выполним запаковку, вбив в командную строку следующее:
У вас должен появиться файл build_windows. Это и есть наш итоговый пакет программы, который мы сможем распространять. Здесь же мы найдем файл .exe, запускающий нашу программу. Для него, например, можно создать ярлык и закинуть его на рабочий стол.
Возможные ошибки.
Если .exe файл выдает ошибку, то скорее всего, вы не указали, либо указали неправильно путь до одного из используемых файлов и программа не может его найти. Этот файл будет указан в ошибке.
Надеюсь у вас все получилось, а если нет, обязательно напишите об этом. И я постараюсь вам помочь.
Если Вы делаете инсталлятор полной версии программы, а не патч, то часто бывает необходимо уменьшить размер дистрибутива. В данном разделе представлены упаковщики, как раз для этого и предназначенные (помимо функции упаковки, часть программ, представленных здесь, может защитить файл от взлома, если, например, Вы хотите обезопасить свою русификацию от плагиата). Для загрузки щёлкните по названию программы.
Armadillo 4.62 (Shareware, ENG, 3.12 МБ) - пароль на файл: Q2TIIyKN0PChv9Hp
4.64 (Shareware, ENG, 3.49 МБ) - пароль на файл: jyC35xLlZS5XwwUV
6.60.0140 (Shareware, ENG, 36.73 МБ), в архиве Public и Custom Build
7.20.720 (Shareware, ENG, 20.6 МБ) - пароль на файл: vXAtDEwdpVrTFtUw
ASPack 2.12 (Shareware, Multilanguage, 294 КБ) - пароль на файл: yIS17hTYxGU0JMOq
2.2 (Shareware, Multilanguage, 383.56 КБ) - пароль на файл: vDWJiymHADzThwCl
2.24 (Shareware, Multilanguage, 762 КБ) - пароль на файл: ogZmEEcIjjAHHOgT
ASProtect 1.35 build 04.25 (Shareware, ENG, 1.64 МБ) - пароль на файл: WkdUn1BxZMxE8f1G
build 06.26 (Shareware, ENG, 1.68 МБ) - пароль на файл: LQ2m7r9i0RrpbAsC
1.4 build 11.20 (Shareware, ENG, 2.53 МБ) - пароль на файл: p3wNzq3289rk2kNB
1.5 build 04.01 (Shareware, ENG, 1.31 МБ) - пароль на файл: RsrtLzFXcisKBmqN
SKE 2.4 build 09.11 (Shareware, ENG, 1.16 МБ) - пароль на файл: fWYCfzL2BagLVf5m
SKE 2.41 build 02.26 (Shareware, ENG, 2.60 МБ) - пароль на файл: GilTAmZLjCKMPZmJ
SKE 2.56 build 03.17 (Shareware, ENG, 2.68 МБ) - пароль на файл: dBbcPRCAfnrYkYvz
BJFnt 1.3 (Freeware, ENG, 32.3 КБ)
Code Virtualizer 1.3.1.0 (Shareware, ENG, 5.64 МБ) - пароль на файл: jVaQAlCSugKuo3e3
Enigma Protector 1.02 (Demo, ENG/RUS, 456 КБ)
1.14 (Demo, ENG/RUS, 2.1 МБ) - пароль на файл: 4bVqz6pPtNsxD6Cu
2.00 build 20100607 (Commercial, ENG/RUS, 13.92 МБ) - пароль на файл: gQhThawEASJRsUNM
ExeFog 1.1 (Freeware, ENG, 264 КБ)
eXPressor 1.5.0.1 (Shareware, ENG, 1.87 МБ) - пароль на файл: 9c1Ncj5pPJt0U32k
FSG 2.0 (Freeware, ENG, 102 КБ)
ID Application Protector 1.2 (Shareware, ENG, 1.88 МБ) - пароль на файл: YgMisjkmDFEfPKXF
Mew11 SE 1.2 (Freeware, ENG, 261 КБ)
MoleBox Pro 2.5.7.2164 (Shareware, ENG, 713 КБ) - пароль на файл для всех версий: 0x1qKECN533rVDI6
2.61 (Shareware, ENG, 649 КБ)
2.6.3.2462 (Shareware, ENG, 850 КБ)
2.6.4.2534 (Shareware, ENG, 1.14 МБ) - русская версия
Morphine 3.5 (Freeware, ENG, 174 КБ)
mPack 0.0.3 (Freeware, ENG, 92.1 КБ)
NakedPacker 1.0 (Freeware, CHI, 314 КБ) - русская версия, пароль на архив: s74VkfuAKFBz
NeoLite 2.0 (Shareware, ENG, 588 КБ) - пароль на файл: MzxhsiUQSrJXuqa9
NFO 1.0 (Freeware, ENG, 6.14 КБ)
NoobyProtect SE 1.7.0.0 (Shareware, ENG, 8.14 МБ) - пароль на файл: SjXURobKosMKUBnh
NsPack 3.0 (Shareware, ENG, 475 КБ)
Obsidium 1.3.4.2 (Shareware, Multilanguage, 1,56 МБ) - пароль на файл: kgjbVNgAa5b2zzx9
PC Guard 4.06 (Shareware, ENG, 364 КБ)
PECompact 2.98.6 (Shareware, RUS, 1.02 МБ) - пароль на файл: aLkMSjjZsxPAZdJi
PELock 1.06 (Shareware, ENG, 400 КБ)
Petite 2.3 (Freeware, ENG, 107 КБ)
PeX 0.99 (Freeware, ENG, 40.0 КБ)
PKLITE 1.1 (Shareware, ENG, 348 КБ) - пароль на файл: 5AcVRonS5TFudJS5
PolyEnE 0.01+ (Freeware, ENG, 30.6 КБ), файл русского языка в комплекте
Protection PLUS 4.4.1 (Shareware, ENG, 14.1 МБ) - пароль на файл: PvAjAoAszIhzJ6EC
RCryptor 2.0 (Shareware, RUS, 376 КБ) - пароль на файл: hWi7awE9jEgiyscC
RLPack 1.16 Personal (Shareware, ENG, 120 КБ) - пароль на файл: qLjeYOAcZi9jj352
SDProtector Pro 1.16 (Shareware, ENG, 600 КБ), скачать мой русификатор можно здесь
ShareGuard 2.1 (Shareware, ENG, 3.15 МБ) - пароль на файл: HqVtxvnxwZphpBD3
SoftSentry 3.0 (Shareware, ENG, 2.79 МБ) - пароль на файл: dVhgkuaqfaiBnYVo
ST Protector 1.5 SE (Shareware, ENG, 1.58 МБ) - пароль на файл: BkRMEpJfOdfDeSel
tElock 0.99 (Freeware, ENG, 50.6 КБ)
Themida 1.7.3.0 (Shareware, ENG, 6.71 МБ) - пароль на файл: 6isKKf7SFosSAUn0
1.8.5.5 (Shareware, ENG, 9.45 МБ) - пароль на файл: ravSO1nV8izsHD99
1.9.9.0 (Shareware, Multilanguage, 8.97 МБ) - пароль на файл: 10yIa9qXrxAqPKJ8
2.0.3.0 (Shareware, Multilanguage, 9.28 МБ) - пароль на файл: dzatmKxjGcT7vyfW
TurboPower ProActivate 1.11 (Shareware, ENG, 2.24 МБ) - пароль на файл: L9c7gBUocCYIYYEO
UPX 3.00 (Freeware, ENG, 300 КБ)
USSR 0.31 (Freeware, ENG, 20.2 КБ)
Visual Protect 2.5.7 (Shareware, ENG, 3.41 МБ) - пароль на файл: vLqeZaiLrzZZbcRq
WinLicense 1.8.5.5 (Shareware, ENG, 11.3 МБ) - пароль на файл: EilR8fU5kx5BG2Mt
WWPack 1.20 (Shareware, ENG, 205 КБ) - пароль на файл: cwNRwNlXGJjitGYt
XXPack 0.1 (Freeware, CHI, 261 КБ)
ZProtect 1.4.4.0 Professional (Commercial, ENG, 5.09 МБ) - пароль на файл: LjtxCdUEFogyeMHj
Читайте также: