0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 31
|
||||||||||||||||
1 | ||||||||||||||||
Передача параметра lpReserved27.07.2022, 19:29. Показов 669. Ответов 8
Метки нет (Все метки)
Здравствуйте! Пытаюсь передать структуру данных путем загрузки модуля dll в процесс.
Инжект dll в процесс работает, но на выходе получаю пустое сообщение в месседжбоксе Инициализация Кликните здесь для просмотра всего текста
Функция инжекта dll Кликните здесь для просмотра всего текста
В дллке Кликните здесь для просмотра всего текста
0
|
27.07.2022, 19:29 | |
Ответы с готовыми решениями:
8
передача параметра Передача параметра в потоки Передача параметра в функцию передача параметра в класс |
Вездепух
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
|
|
27.07.2022, 19:51 | 2 |
Так а как это вообще может работать? Как вы собрались в процесс указатель на данные другого процесса? Там этот указатель ничего не значит.
То есть тут даже о внутренней структуре std::string говорить не нужно. Замените std::string на int и все равно ничего работать не будет.
0
|
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 31
|
|
27.07.2022, 19:56 [ТС] | 3 |
Так я прошу вас помочь решить проблему. Как я могу передать данные в внедряемую длл?
0
|
Вездепух
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
|
|
27.07.2022, 20:02 | 4 |
Точно так же, как это делается в приведенном коде функции
map_module : в постороннем процессе нужно выделить память при помощи VirtualAllocEx , а затем скопировать ваши данные в эту память при помощи WriteProcessMemory . Только std::string при этом использовать не нужно. Пользуйтесь для таких целей тривиальными представлениями данных - обычными массивами.Я так понимаю, что map_module писали не вы, так? Вполне возможно, что эта функция map_module уже умеет все это делать, а вы просто неправильно ей пользуетесь. Приведите здесь документацию/описание функцональности этой функуции - там может быть написано, как это правльно делать. Откуда у вас возникла идея использовать lpReserved для ваших целей?
0
|
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 31
|
|
27.07.2022, 20:04 [ТС] | 5 |
0
|
Вездепух
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
|
|
27.07.2022, 20:26 | 6 |
И? Что такое
MapImage там и какое отношение оно имеет к вашему map_module ? Откуда вы взяли ваш map_module ? Где у вас в коде аналог их CustomArgs_t ?Там в коде все сделано правильно, то есть содержимое CustomArgs_t аккуратно копируется в принимающий процесс, именно так как я и сказал выше. Поэтому у них все прекрасно передается (но обратите внимание - в примере по вашей ссылке передаются только тривиальные типы, ни в коем случае не std::string ). У вас же в коде вообще ничего подобного для параметра lpReserved нет. Какое вообще отношение приведенная вами ссылка имеет к вашему коду? К чему вы ее привели здесь?
0
|
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 31
|
|
27.07.2022, 20:29 [ТС] | 7 |
Я имел ввиду что в длл структура берется из поинтера lpReserved
auto pArgs = (CustomArgs*)lpReserved; Оба инжектят длл в процессы Оригинал https://github.com/TheCruZ/Sim... p-Injector
0
|
Вездепух
11691 / 6370 / 1723
Регистрация: 18.10.2014
Сообщений: 16,052
|
|
27.07.2022, 20:35 | 8 |
Там это совсем другой "поинтер lpReserved". Там это указатель в адресное пространство DLL. Ижнектирующий процесс заранее выделил память в адресном пространстве DLL и заранее скопировал в нее передаваемые данные из буфера
CustomArgs_t . Именно указатель на эту память уже в адресном пространстве DLL и передается в DllMain . Поэтому у них все работает. Специально для поддержки такой передачи параметров копирования у них и заведен буфер CustomArgs_t .У вас же ничего даже отдаленно похожего в коде нет. Вы тупо передаете через lpReserved указатель в адресное исходного инжектирующего процесса. В адресном пространстве DLL это указатель ничего не значит. При попытке доступа через него в DllMain код либо просто упадет, либо увидит там какой-то мусор.Гениально... Стул и автомобиль - в/на обоих можно сидеть.
0
|
0 / 0 / 0
Регистрация: 18.10.2019
Сообщений: 31
|
|
27.07.2022, 20:40 [ТС] | 9 |
Понял спасибо
0
|
27.07.2022, 20:40 | |
27.07.2022, 20:40 | |
Помогаю со студенческими работами здесь
9
Передача параметра по ссылке Передача параметра по ссылке Передача инкрементирующегося параметра Передача параметра по ссылке Передача параметра в функцию Передача параметра функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |