![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
kastron |
|
||||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.10.2011 Репутация: нет Всего: нет |
Загрузка DLL из ресурса
Так пытаюсь поставить хук из длл, загруженной в память
hk равна нулю, то есть хук не устанавливается... P.s если просто грузить DLL не из ресурса, а из файла через LoadLibrary - всё проходит на ура и хук точно таким же образом ставится, а вот с хуком из ресурса не выходит. Помогите пожалуйста разобраться, что я делаю не так? |
||||
|
|||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Фигней вы страдаете
Сделайте весь функционал в ЕХЕ и сделайте экспорт из него, и хукайте чего угодно. -------------------- |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
экзешник с экспортом не заменяет длл. хорош уже теоретизировать
-------------------- Обижено школьников: 8 |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
bems,
В каком случае не заменяет? -------------------- |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
500mhz, при загрузке экзешника в АП другого процесса не делаются фиксапы. Поэтому экспорты из exe можно применять только в ситуации когда из длл нужно использовать функции экзешника который использовался при создании процесса, который загрузил эту длл (надеюсь не слишком запутанно выразился).
ТС пытается сделать глобальный хук, а значит система должна загрузить экзешник в АП всех процессов где возникают соответствующие события, кроме процесса утановившего хук (там этот экзешник уже есть) kastron, хендл дллки при создании хука нужен системе чтобы загрузить эту длл в остальные процессы. А раз длл как таковой у тебя нет, то это не заработает Это сообщение отредактировал(а) bems - 14.8.2012, 18:41 -------------------- Обижено школьников: 8 |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
bems,
Не говорите ерунду, делайте ехешник с shared секцией в которой код хука и секцией reloc , и все прекрасно грузится в любой процесс. -------------------- |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Само по себе наличие релоков в экзешнике не помогает, это проверено. Что касается шаред-секции, то я не проверял, но в дельфи отсутствуют стандартные средства для создания таких секций. Ну а речь про дельфи всё-таки
-------------------- Обижено школьников: 8 |
|||
|
||||
kastron |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.10.2011 Репутация: нет Всего: нет |
bems, скажи пожалуйста знаком ли ты с модулем BTMemoryModule?
Разве таким образом я не получаю хэндл DLL-ки
или я не прав? |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
kastron, не знаком с этим модулем, но вот некоторые общие сведения:
- хендл модуля обычно (строго говоря не всегда) совпадает с базовым адресом загрузки модуля в виртуальную память процесса - codeBase может означать или этот адрес, или baseofcode из хидера. Это разные вещи - независимо от значения этого поля, твой образ длл есть в памяти, но отсутствует в списке модулей процесса, который система хранит для каждого процесса. Этот список используется для получения имени по хендлу. Поэтому при установке хука она не сможет определить какой файл нужно маппить в чужие процессы -------------------- Обижено школьников: 8 |
|||
|
||||
kastron |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.10.2011 Репутация: нет Всего: нет |
То есть исходя из сказанного прохучить DLL из ресурсов не получится?
|
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Просто через LoadLibrary не получится
-------------------- |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
-------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
kastron |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.10.2011 Репутация: нет Всего: нет |
Извлечь DLL из ресурса на диск и выполнить LoadLibrary - как вариант можно, это первое что пришло на ум. Интересовало возможно ли установить хук непосредственно из ресурсов.
Это сообщение отредактировал(а) kastron - 15.8.2012, 01:43 |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: нет Всего: 20 |
Это самое правильное решение с точки зрения ОС. Зачем нужно именно из пмаяти? -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
![]() -------------------- Обижено школьников: 8 |
|||
|
||||
500mhz |
|
|||
![]() шайтан ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1017 Регистрация: 5.5.2008 Где: Киев / Italy Репутация: нет Всего: 14 |
Ну что вы пристали к ТС )))
Может он малварь на дельфи пишет, и сохранять дллку которая палится АВП на диск не кошерно, вот он и идет тернистым путом ))) -------------------- |
|||
|
||||
kastron |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 10.10.2011 Репутация: нет Всего: нет |
500mhz
Да не пишу я никакой малварь. Просто интересовала возможность реализации данного нестандартного способа. |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
ты бы лучше показал глобальный хук их экзешника.
и заодно просветил как при этом вызывается точка входа -------------------- Обижено школьников: 8 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |