Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
Dzib
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
1

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

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

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

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

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

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

EXE файл
где то уже была подобная тема, но не нашел и поиск тоже не ищет...как...

Не найден .exe файл
Только начал обучение С++ по учебнику Страуструпа. Загрузил Visual Studio ...

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

Не по теме:

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

0
alkagolik
Заблокирован
06.09.2012, 00:09 3
Лучший ответ Сообщение было отмечено как решение

Решение

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

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

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

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

Насчет второго варианта с подменой байтов я не понимаю, как можно запустить не рабочее приложения, а потом его исправить в памяти? Можно пример?
0
alkagolik
Заблокирован
06.09.2012, 02:23 7
Цитата Сообщение от Dzib Посмотреть сообщение
нельзя допустить создания на жестком диске файла в рабочем виде
Цитата Сообщение от Dzib Посмотреть сообщение
Но запустить с помощю моего проекта
как можно запустить файл, который отсутствует? мой мозг поймал экзепшн.

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

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

p.s.: можно конечно было-бы реализовать EXE-ник как DLL, т.е. должна быть объявлена таблица релокаций и если используется конкретная функция, то и объявлена должна быть соответствующим образом, но в случае чужого EXE-ника, увы.
0
Dzib
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 14:17  [ТС] 13
Внедряют dll в файл с помощю ollydbg. Меняют точку входа на функцыю которую вызывают из dll или если есть возможность то просто джампами переводят не меняя точки входа. Но тут как я понимаю нужно знать ассемблер а не С++.
0
raxp
10185 / 6568 / 492
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
09.09.2012, 14:39 14
Dzib, не путайте DLL и EXE. Хоть и схожие сигнатуры и считается одним и тем же, но все же отличия есть, см. выше. У вас ведь exe-ник чужой/свой.
0
Dzib
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 15:21  [ТС] 15
exe-шник чужой. Но это не мешает с помощю дебагера ему парочку команд добавить что б его контролировать, как пример вот топик где человек мне показал как можно добавить запуск exe-шника только через определённый строковый параметр, незная этого параметра некто не сможет запустить приложения.
Добавить запуск через параметр
Хоть это и вариант но этот вариант для дурака, я думаю что отследить с каким параметром запускается приложения не составит труда.
По этому делают так как я отписал в конце топика
Тоесть есть например приложения 1 и приложения 2. Запускают приложения 1 потом приложения 2, они оба активны, работают, но когда закрыть приложения 1 то приложения 2 тоже закрывается, даже если убить первое диспечером задач. А если запустить приложения 2 без запущеного приложения 1, то оно либо не запускается либо запускает приложения 1 (как в какой реализации, но это не важно)
Приложения 1 свое, приложения 2 чужое, оба exe. Как это реализировать тоже вопрос.
А насчет запуска в оперативную память из ресурсов это интересно, не могли б написать простенький пример что б показать как это реализируется? Буду благодарен.
0
Digit@ll
Brainsbreaker
888 / 366 / 51
Регистрация: 01.02.2011
Сообщений: 1,586
09.09.2012, 15:58 16
Dzib, извини, но всё в кучу. Что ты хочешь от жизни?
0
Dzib
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
09.09.2012, 16:18  [ТС] 17
Античит написать)
0
alkagolik
Заблокирован
09.09.2012, 20:02 18
и все сразу должны понять что тебе надо? антивирус - слышал, античит - смутно догадываюсь. Что - то связанное с защитой от хака чего - то. Я сначала подумал что тебе надо работу демо проекта показать, сейчас вижу что тебе надо что-то защитить от взлома, но чего тебе надо конкретно я так и не понял.
0
-=ЮрА=-
10.09.2012, 12:01     Запаковать exe файл
  #19

Не по теме:

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

0
10.09.2012, 12:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2012, 12:01
Привет! Вот еще темы с ответами:

Удаляется .exe файл
Здравствуйте, у возникла проблема с программой в плане того что после закрытия...

Не создается файл exe
Всем привет. Я только начал учить C++. Использую Visual Studio 2010 Express....

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru