Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Dzib
5 / 5 / 1
Регистрация: 21.08.2012
Сообщений: 205
05.09.2012, 21:28     Запаковать exe файл #1
Привет всем. Меня инетресует вопрос, можно ли с помощю безплатного ПО или с помощю других способов запаковать сторонний exe файл в такой вид что б его нельзя было запустить с помощю обычного тыка мышкой, а только с помощю моего проэкта? Спасибо всем за ответы.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 21:28     Запаковать exe файл
Посмотрите здесь:

C++ EXE. файл
EXE файл C++
C++ Выходной exe файл
C++ Как отделить BGI файл от EXE. Как можно внедрить данный модуль в рабочий файл?
C++ Не создаёт .exe файл!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
06.09.2012, 00:04     Запаковать exe файл #2
Цитата Сообщение от Dzib Посмотреть сообщение
Привет всем. Меня инетресует вопрос, можно ли с помощю безплатного ПО или с помощю других способов запаковать сторонний exe файл в такой вид что б его нельзя было запустить с помощю обычного тыка мышкой, а только с помощю моего проэкта? Спасибо всем за ответы.
Конечно можно - запихни его ресурсом приложения а затем распаковывай и запускай через ShellExecute скажем. что такое ресурсы и как с ними работать - ну вот хотябы проведи аналогию с медиа файлом в ресурсах Ошибка AfxGetResourceHandle

Не по теме:

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

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

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

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

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

Насчет второго варианта с подменой байтов я не понимаю, как можно запустить не рабочее приложения, а потом его исправить в памяти? Можно пример?
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
06.09.2012, 02:23     Запаковать exe файл #7
Цитата Сообщение от Dzib Посмотреть сообщение
нельзя допустить создания на жестком диске файла в рабочем виде
Цитата Сообщение от Dzib Посмотреть сообщение
Но запустить с помощю моего проекта
как можно запустить файл, который отсутствует? мой мозг поймал экзепшн.

Добавлено через 1 минуту
Цитата Сообщение от Dzib Посмотреть сообщение
Насчет второго варианта с подменой байтов я не понимаю, как можно запустить не рабочее приложения, а потом его исправить в памяти? Можно пример?
немного не так. исправить, запустить как процесс, дождаться окончания, опять испортить, завершить программу.
Dzib
5 / 5 / 1
Регистрация: 21.08.2012
Сообщений: 205
06.09.2012, 03:12  [ТС]     Запаковать exe файл #8
Видел люди такое что я хочу делают внедряя dll файлы в exe файл, и потом exe файл уже не запустить самому. Незнаю что в этих dll. Прикрепил в файлах, может её какнебудь релаьно декомпилировать?
Вложения
Тип файла: rar Main.rar (14.7 Кб, 26 просмотров)
Digit@ll
Brainsbreaker
 Аватар для Digit@ll
832 / 343 / 27
Регистрация: 01.02.2011
Сообщений: 1,483
08.09.2012, 19:36     Запаковать exe файл #9
Где ты её взял?
Dzib
5 / 5 / 1
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 01:13  [ТС]     Запаковать exe файл #10
В клиенте одной онлайн игрушки. По умолчанию её там нет, это уже люди сами добавляли. А почему интересуешся где я её взял?
Digit@ll
Brainsbreaker
 Аватар для Digit@ll
832 / 343 / 27
Регистрация: 01.02.2011
Сообщений: 1,483
09.09.2012, 02:56     Запаковать exe файл #11
Я знаю, что можно изменять ресурсы, но чтоб добавлять... Тоже хочу понять, что оно такое. Вот ты говоришь, что хочешь иметь возможность запускать проги с внедренной этой dll только с помощью своего проекта, а каков в нем будет порядок действий? Само по себе внедрение в exe на мой взгляд ничего не даст, ну будет оно там лежать мертвым грузом и что? Хотя вызов ф-ции из dll делает свое дело - завершает программу.
raxp
10140 / 6527 / 475
Регистрация: 28.12.2010
Сообщений: 21,167
Записей в блоге: 1
09.09.2012, 14:02     Запаковать exe файл #12
Если exe файл в ресурсах то его сначала пишут в файл, а потом запускают, это ничем не поможет.
никто не мешает выдрать из ресурсов и запустить в памяти, без сохранения на диск. FindResource(), LoadResource(), GetModuleFileName(), CreateProcess(), WriteProcessMemory(), VirtualProtectEx(), ZwUnmapViewOfSection() спасут ОРД.

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

p.s.: можно конечно было-бы реализовать EXE-ник как DLL, т.е. должна быть объявлена таблица релокаций и если используется конкретная функция, то и объявлена должна быть соответствующим образом, но в случае чужого EXE-ника, увы.
Dzib
5 / 5 / 1
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 14:17  [ТС]     Запаковать exe файл #13
Внедряют dll в файл с помощю ollydbg. Меняют точку входа на функцыю которую вызывают из dll или если есть возможность то просто джампами переводят не меняя точки входа. Но тут как я понимаю нужно знать ассемблер а не С++.
raxp
10140 / 6527 / 475
Регистрация: 28.12.2010
Сообщений: 21,167
Записей в блоге: 1
09.09.2012, 14:39     Запаковать exe файл #14
Dzib, не путайте DLL и EXE. Хоть и схожие сигнатуры и считается одним и тем же, но все же отличия есть, см. выше. У вас ведь exe-ник чужой/свой.
Dzib
5 / 5 / 1
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 15:21  [ТС]     Запаковать exe файл #15
exe-шник чужой. Но это не мешает с помощю дебагера ему парочку команд добавить что б его контролировать, как пример вот топик где человек мне показал как можно добавить запуск exe-шника только через определённый строковый параметр, незная этого параметра некто не сможет запустить приложения.
Добавить запуск через параметр
Хоть это и вариант но этот вариант для дурака, я думаю что отследить с каким параметром запускается приложения не составит труда.
По этому делают так как я отписал в конце топика
Тоесть есть например приложения 1 и приложения 2. Запускают приложения 1 потом приложения 2, они оба активны, работают, но когда закрыть приложения 1 то приложения 2 тоже закрывается, даже если убить первое диспечером задач. А если запустить приложения 2 без запущеного приложения 1, то оно либо не запускается либо запускает приложения 1 (как в какой реализации, но это не важно)
Приложения 1 свое, приложения 2 чужое, оба exe. Как это реализировать тоже вопрос.
А насчет запуска в оперативную память из ресурсов это интересно, не могли б написать простенький пример что б показать как это реализируется? Буду благодарен.
Digit@ll
Brainsbreaker
 Аватар для Digit@ll
832 / 343 / 27
Регистрация: 01.02.2011
Сообщений: 1,483
09.09.2012, 15:58     Запаковать exe файл #16
Dzib, извини, но всё в кучу. Что ты хочешь от жизни?
Dzib
5 / 5 / 1
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 16:18  [ТС]     Запаковать exe файл #17
Античит написать)
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
09.09.2012, 20:02     Запаковать exe файл #18
и все сразу должны понять что тебе надо? антивирус - слышал, античит - смутно догадываюсь. Что - то связанное с защитой от хака чего - то. Я сначала подумал что тебе надо работу демо проекта показать, сейчас вижу что тебе надо что-то защитить от взлома, но чего тебе надо конкретно я так и не понял.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2012, 12:01     Запаковать exe файл
Еще ссылки по теме:

C++ exe файл у друзей
Запаковать .txt в программу C++
Компиляция в EXE файл C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
10.09.2012, 12:01     Запаковать exe файл
  #19

Не по теме:

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

Yandex
Объявления
10.09.2012, 12:01     Запаковать exe файл
Ответ Создать тему
Опции темы

Текущее время: 02:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru