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

C++

Войти
Регистрация
Восстановить пароль
 
hiphone
13 / 13 / 3
Регистрация: 28.01.2012
Сообщений: 544
#1

Внедрение DLL в EXE - C++

31.07.2016, 13:41. Просмотров 492. Ответов 6
Метки нет (Все метки)

Здравствуйте, хочу написать свой объединитель exe и dll. Подскажите, как это можно сделать так, чтобы можно было при запуске использовать dll без записи на диск
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2016, 13:41     Внедрение DLL в EXE
Посмотрите здесь:

Внедрение кода и слияние exe с dll - C++ WinAPI
Пытаюсь внедрить свой код в чужой процесс через DLL Injection и все в принципе работает. Но не дает покоя одна вещь - отдельный exe-файл,...

Внедрение dll - C++ Builder
HANDLE aaa; LPVOID vi; HINSTANCE dll; void __fastcall TForm1::Button1Click(TObject *Sender) { aaa = FindWindow(0,"Form11"); ...

Внедрение рисунка в exe-файл - Visual C++
Здравствуйте. Столкнулся с такой проблемой. Моя программа использует bmp рисунок (к примеру image.bmp). Можно ли внедрить код этого рисунка...

Внедрение dll в чужое приложение - C++ WinAPI
Господа решил освоить этот аспект и поэксперементировать . Значит создаю dll в ней одна функция которая ищет окно приложение и...

Внедрение DLL в чужой процесс - Visual C++
Доброго времени суток! Делаю инжект ддлки в сторонний процесс следющим образом: 1. открыл процесс 2. выделил память в нём 3....

Внедрение DLL через реестр - C++ WinAPI
Пытаюсь внедрить DLL через реестр, как это описано у Рихтера. Сюда...

Внедрение DLL: Не получается вытащить данные из listview чужой программы. - C++
В общем ситуация такая. Есть чужая программа, в ней элемент управления(ЭУ) похож на listview, но его класс отличается от стандартного. В...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
31.07.2016, 13:59     Внедрение DLL в EXE #2
Никак.
Windows работает, опираясь на определенные принципы.
Один из этих принципов - исполняемому файлу для работы нужна секция на диске.
Найдешь способ избавиться от этой секции - получишь другие проблемы.
hiphone
13 / 13 / 3
Регистрация: 28.01.2012
Сообщений: 544
31.07.2016, 15:12  [ТС]     Внедрение DLL в EXE #3
Но ведь есть протекторы, Themida, например, которые это реализуют
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,334
Завершенные тесты: 1
31.07.2016, 15:24     Внедрение DLL в EXE #4
Хочешь сказать, что протекторы не используют запись файла на диск?

... и в итоге все так или иначе сведется к ручной загрузке dll из памяти.
У dll не будет объекта-секции на диске, поэтому возможны различные
неприятности.

Как по мне, так слишком много "заморочек" ради непонятной выгоды.
Avazart
Эксперт С++
7115 / 5292 / 273
Регистрация: 10.12.2010
Сообщений: 23,387
Записей в блоге: 17
04.08.2016, 13:27     Внедрение DLL в EXE #5
Я где-то в блогах видел заметку как грузить DLL из памяти.
(там кажется на Delphi, но там же видел кажется отсыл к коду на C++)
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
04.08.2016, 15:56     Внедрение DLL в EXE #6
pe-loader

library, which help to describe or load and execute PE files.
Задуматься над такой библиотекой меня сподвигла статья : http://www.rsdn.ru/?article/baseserv/peloader.xml
А источники, которые я изучал для написания, и вспомнить уже не удастся, их было очень много.

Это уже готовая библиотека, которую вполне можно использовать для работы с небольшим dll-файлом.
Я не проверял работу на загрузке системных или каких либо сложных dll, поэтому не могу ручаться за корректность работы кода полностью для всех случаев.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2016, 11:58     Внедрение DLL в EXE
Еще ссылки по теме:

[C++] dll в exe - C++
Как можно сделать так чтобы dll засунуть в exe программу чтоб при запуске она инжектилась в процесс hl.exe

Встроить dll в exe - C++
Создал простое окно в WinAPI, однако у пользователей у которых не стоит вижуал студио, требует msvcp120.dll Можно её как-то встроить в...

dll в exe шник c++ - Visual C++
доброго времени суток ! имеется исходный код на msvs dll и exe шника если взять все функции из dll и просто переписать их в exe шник...

Dll и exe в одном файле - C++
Здравствуйте! Можно ли добавить свою dll в файл exe так чтобы при компиляции получился один файл. И при переносе не надо было таскать...

DLL библиотеке в конечный EXE - C++ Builder
Подскажите как вшить DLLки в EXEшник? Если через ProjectManager, то как? borlndmm.dll CC3260MT.DLL Без этих 2х длл проект не...


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

Или воспользуйтесь поиском по форуму:
jupman
193 / 96 / 13
Регистрация: 10.11.2015
Сообщений: 251
05.08.2016, 11:58     Внедрение DLL в EXE #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
hiphone, это вполне реально, я делал подобное, но как уже сказал Убежденный заморочек много. Действовать нужно примерно так: мэппингуем образ, настраиваем релоки, добавляемся в ldr-list, хучим свою же DllMain (если элоцирование было через VirtualAlloc, не помню уже какие я костыли в хуке возводил) иначе FreeLibrary не сможет корректно выгрузить вашу dll, настройка импорта, аттрибутов секций (VirtualProtect), если требуется то обработка tls (делал на основе вызова Ldrp функций LdrpHandleTlsData etc, они не экспортируются так что придется сигнатуры таскать для каждой версии, от XP до 10), если требуется поддержку оверлеев (перехват API ФС).

Добавлено через 3 минуты
hiphone, но универсальный лоудер все равно не получится сделать
.
Yandex
Объявления
05.08.2016, 11:58     Внедрение DLL в EXE
Ответ Создать тему
Опции темы

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