Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/16: Рейтинг темы: голосов - 16, средняя оценка - 4.75
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205

Запаковать exe файл

05.09.2012, 21:28. Показов 3579. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Меня инетресует вопрос, можно ли с помощю безплатного ПО или с помощю других способов запаковать сторонний exe файл в такой вид что б его нельзя было запустить с помощю обычного тыка мышкой, а только с помощю моего проэкта? Спасибо всем за ответы.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.09.2012, 21:28
Ответы с готовыми решениями:

Запаковать .txt в программу
Здравствуйте! Написал программу, которая работает с .txt файлом (чтение), как я могу запаковать данный файл в программу, чтобы не носить...

Как отделить BGI файл от EXE. Как можно внедрить данный модуль в рабочий файл?
Помогите!!! Хотелось бы избавиться от BGI файла и поместить все в рабочий файл. Как это можно следать. Если можно, то поподробнее! ...

EXE. файл
Как правильно надо сохранить готовую программу в EXE. файл что бы тот у которого нет с++ мог ее открыть.

18
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
06.09.2012, 00:04
Цитата Сообщение от Dzib Посмотреть сообщение
Привет всем. Меня инетресует вопрос, можно ли с помощю безплатного ПО или с помощю других способов запаковать сторонний exe файл в такой вид что б его нельзя было запустить с помощю обычного тыка мышкой, а только с помощю моего проэкта? Спасибо всем за ответы.
Конечно можно - запихни его ресурсом приложения а затем распаковывай и запускай через ShellExecute скажем. что такое ресурсы и как с ними работать - ну вот хотябы проведи аналогию с медиа файлом в ресурсах Ошибка AfxGetResourceHandle

Не по теме:

Есть ещё некоторые примочки, но о них пока не буду(думаю тебе они будут не понятны, попробуй пока реализовать то что написал)

0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
06.09.2012, 00:09
Лучший ответ Сообщение было отмечено как решение

Решение

Dzib, можно взять .exe файл, поменять в нем байты местами, и только с помощью твоего "проэкта" восстановить в исходное состояние.
1
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
06.09.2012, 00:43  [ТС]
Dzib, можно взять .exe файл, поменять в нем байты местами, и только с помощью твоего "проэкта" восстановить в исходное состояние.
Во время запуска приложения, испорченое приложения редактируется(приводится к робочему виду) на жестком диске или в оперативной памяти? Если на жестком диске то не подходит так как тогда после запуска, приложения можно скопировать в рабочем виде.

Конечно можно - запихни его ресурсом приложения а затем распаковывай и запускай через ShellExecute скажем. что такое ресурсы и как с ними работать - ну вот хотябы проведи аналогию с медиа файлом в ресурсах Ошибка AfxGetResourceHandle
Если exe файл в ресурсах то его сначала пишут в файл, а потом запускают, это ничем не поможет.
Если есть друго вариант запуска из ресурсов, напишите пожалуйста этот код для консольного приложения, буду очень благодарен.
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
06.09.2012, 00:53
Цитата Сообщение от Dzib Посмотреть сообщение
Если exe файл в ресурсах то его сначала пишут в файл, а потом запускают, это ничем не поможет.
- как это не поможет???!
Простой пример: Есть скажем программа, ты хз как она написана, но тебе кровь из носа надо чтобы перед запуском вылезало окшко логина + как у меня утром надо запустить её програмно в режиме совместимости с Win95.
Продвинутые дяди делают патчи, лопатят горы асма, но если идти по пути наименьшего сопротивления зашили нашу программу в экзе-контейнер который выкидывает окно логина, делает необходимые записи в реестре а уж потом запускает наш экзе,который может быть на столько сложен что пропатчив нарушим функционал. А ты говоришь нельзя, пожумай сначала хорошенько!
Цитата Сообщение от Dzib Посмотреть сообщение
Во время запуска приложения, испорченое приложения редактируется(приводится к робочему виду) на жестком диске или в оперативной памяти?
- да где угодно, хоть в буфере правь, хоть записывай нужные байты файловым потоком...
0
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
06.09.2012, 01:19  [ТС]
Наверно плохо обяснил.

Задача: нужно исключить запуск exe файла (исходников нет). Но запустить с помощю моего проекта.
Условия: нельзя допустить создания на жестком диске файла в рабочем виде, рабочая папка приложения должна быть преждней(exe файл оттуда ещё 1 гб ресурсов своих использует)

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

Насчет второго варианта с подменой байтов я не понимаю, как можно запустить не рабочее приложения, а потом его исправить в памяти? Можно пример?
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
06.09.2012, 02:23
Цитата Сообщение от Dzib Посмотреть сообщение
нельзя допустить создания на жестком диске файла в рабочем виде
Цитата Сообщение от Dzib Посмотреть сообщение
Но запустить с помощю моего проекта
как можно запустить файл, который отсутствует? мой мозг поймал экзепшн.

Добавлено через 1 минуту
Цитата Сообщение от Dzib Посмотреть сообщение
Насчет второго варианта с подменой байтов я не понимаю, как можно запустить не рабочее приложения, а потом его исправить в памяти? Можно пример?
немного не так. исправить, запустить как процесс, дождаться окончания, опять испортить, завершить программу.
0
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
06.09.2012, 03:12  [ТС]
Видел люди такое что я хочу делают внедряя dll файлы в exe файл, и потом exe файл уже не запустить самому. Незнаю что в этих dll. Прикрепил в файлах, может её какнебудь релаьно декомпилировать?
Вложения
Тип файла: rar Main.rar (14.7 Кб, 29 просмотров)
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
08.09.2012, 19:36
Где ты её взял?
0
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 01:13  [ТС]
В клиенте одной онлайн игрушки. По умолчанию её там нет, это уже люди сами добавляли. А почему интересуешся где я её взял?
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
09.09.2012, 02:56
Я знаю, что можно изменять ресурсы, но чтоб добавлять... Тоже хочу понять, что оно такое. Вот ты говоришь, что хочешь иметь возможность запускать проги с внедренной этой dll только с помощью своего проекта, а каков в нем будет порядок действий? Само по себе внедрение в exe на мой взгляд ничего не даст, ну будет оно там лежать мертвым грузом и что? Хотя вызов ф-ции из dll делает свое дело - завершает программу.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
09.09.2012, 14:02
Если exe файл в ресурсах то его сначала пишут в файл, а потом запускают, это ничем не поможет.
никто не мешает выдрать из ресурсов и запустить в памяти, без сохранения на диск. FindResource(), LoadResource(), GetModuleFileName(), CreateProcess(), WriteProcessMemory(), VirtualProtectEx(), ZwUnmapViewOfSection() спасут ОРД.

Вот только вы должны учесть, что зашитые в ресурсы EXE-ники и запускаемые потом из памяти очень недолюбливают антивири.

p.s.: можно конечно было-бы реализовать EXE-ник как DLL, т.е. должна быть объявлена таблица релокаций и если используется конкретная функция, то и объявлена должна быть соответствующим образом, но в случае чужого EXE-ника, увы.
0
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 14:17  [ТС]
Внедряют dll в файл с помощю ollydbg. Меняют точку входа на функцыю которую вызывают из dll или если есть возможность то просто джампами переводят не меняя точки входа. Но тут как я понимаю нужно знать ассемблер а не С++.
0
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
09.09.2012, 14:39
Dzib, не путайте DLL и EXE. Хоть и схожие сигнатуры и считается одним и тем же, но все же отличия есть, см. выше. У вас ведь exe-ник чужой/свой.
0
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 15:21  [ТС]
exe-шник чужой. Но это не мешает с помощю дебагера ему парочку команд добавить что б его контролировать, как пример вот топик где человек мне показал как можно добавить запуск exe-шника только через определённый строковый параметр, незная этого параметра некто не сможет запустить приложения.
Добавить запуск через параметр
Хоть это и вариант но этот вариант для дурака, я думаю что отследить с каким параметром запускается приложения не составит труда.
По этому делают так как я отписал в конце топика
Тоесть есть например приложения 1 и приложения 2. Запускают приложения 1 потом приложения 2, они оба активны, работают, но когда закрыть приложения 1 то приложения 2 тоже закрывается, даже если убить первое диспечером задач. А если запустить приложения 2 без запущеного приложения 1, то оно либо не запускается либо запускает приложения 1 (как в какой реализации, но это не важно)
Приложения 1 свое, приложения 2 чужое, оба exe. Как это реализировать тоже вопрос.
А насчет запуска в оперативную память из ресурсов это интересно, не могли б написать простенький пример что б показать как это реализируется? Буду благодарен.
0
Brainsbreaker
 Аватар для Digit@ll
899 / 374 / 54
Регистрация: 01.02.2011
Сообщений: 1,608
09.09.2012, 15:58
Dzib, извини, но всё в кучу. Что ты хочешь от жизни?
0
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 16:18  [ТС]
Античит написать)
0
 Аватар для alkagolik
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
09.09.2012, 20:02
и все сразу должны понять что тебе надо? антивирус - слышал, античит - смутно догадываюсь. Что - то связанное с защитой от хака чего - то. Я сначала подумал что тебе надо работу демо проекта показать, сейчас вижу что тебе надо что-то защитить от взлома, но чего тебе надо конкретно я так и не понял.
0
10.09.2012, 12:01

Не по теме:

Цитата Сообщение от Dzib Посмотреть сообщение
как можно добавить запуск exe-шника только через определённый строковый параметр, незная этого параметра некто не сможет запустить приложения.
- вот и надо паковать exe внутрь другого экзе я тебе и писал зашей стороннее приложение ресуром своего и работай со своей прогой, а ей лишь распаоквуй сторонний экзе и запускай, но видимо тебе проще лопатить интернет в поисках решения, которое выведет на анлогичное изложенному...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.09.2012, 12:01
Помогаю со студенческими работами здесь

EXE файл
где то уже была подобная тема, но не нашел и поиск тоже не ищет...как скомпилинную прогу вынести в exe файл...в vs c++ 2008 после...

Выходной exe файл
Привет. собственно учусь на 1м курсе... пишем программки в компиляторах... значит когда-то там мы теоретически сможем создать какую-то...

Exe файл не работает
Доброго всем вечера. сделал проект в визуал студио, консольное приложение. сделал 2 екзешника в дебаг и релиз. запускаю в той системе...

Не создаётся exe файл
Вот код, создаю проекта в визуал студио, компилирую, выдаёт ошибку что не найдет exe #include <iostream> #include...

exe файл у друзей
срочно нужна помощь, вчера я решил занятся программированием и создал самый обычный hello world. Решил похвастаться друзья и у друзей 64х...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru