Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1

Как перехватывать события в программах инжектом DLL?

23.08.2015, 13:15. Показов 4192. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Вопрос стоит в том как написать код инжектируемой DLL, которая бы подгружалась в каждый процесс, и делала следуещее:

1. Перехватывала обращения к файлам:
Сообщала моей программе о том какая программа и что пытается изменить в файловой системе:
Создать/Удалить/Переименовать/Переместить/Скопировать/Изменить файл в такой форме:

событие : путь_к_программе : путь_к_файлу.

2. Перехватывала обращение к реестру:

Сообщала моей программе о том какая программа и что пытается изменить в реестре:
Создать/Удалить/Изменить/Переименовать ключ или параметр в такой форме:

событие : ключ_или_параметр : путь_к_программе : путь_к_ключу_или_параметру.

Я хочу реализовать такое, знаю что это слишком сложно, но может найдётся человек который поможет мне?
Все ссылки интернета не помогают там сплошная теория о том что такое инжект, DLL и.т.д. а даже если есть код то он на C#/C++. Не знаю что делать. Помогите пожалуйста! ОЧЕНЬ НАДО.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.08.2015, 13:15
Ответы с готовыми решениями:

сложности с инжектом dll & VS2008...
незнаю,подходит ли тема для раздела,но все же - столкнулся с совершенно непонятной для меня проблемой---есть код,который инжектит dll в...

Как перехватывать и обрабатывать события в динамически созданных классах?
Приветствую! Есть много разных классов и много динамически созданных экземпляров каждого из них. И вот в программе происходит какое-то...

Как перехватывать события JavaScript при работе Internet Explorer (на С++)
Помогите !!!

27
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
07.09.2015, 04:43  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от mss Посмотреть сообщение
В user mode - никак.
Только в kernel mode.
Значит нельзя будет отслежиать обращения к файлам/реестру для всех программ?
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
09.09.2015, 17:09  [ТС]
Короче если нельзя во все процессы инжект сделать, то надо искать другой метод перехвата
Может кто-нибудь всё же знает что делать?
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
09.09.2015, 17:33
Нет, с dll можно! В инете поищи что-то типо перехват terminate process с помощью dll. Конечно наврятли ты там много чего найдёшь но попробовать стоит! А по этому примеру и с другим разберешься! А самый лучший способ перехвата - ДРАЙВЕР! Уж в интернете дофига по этому инфы! Может что-то и найдёшь! Удачи !
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
09.09.2015, 17:42  [ТС]
Цитата Сообщение от Zagadohnik37 Посмотреть сообщение
Может что-то и найдёшь!
Искал долго, ничего не нашёл Проблема стоит уже год
Погоди... Так значит DLL можно и в user-mode, и в kernel-mod?!

Добавлено через 2 минуты
А где можно драйвер взять/как можно написать?
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
09.09.2015, 17:49
Насчёт user-mod' а не знаю... А насчёт драйверов, извини ни чем помочь не могу, потому-что сам никогда с этим не сталкивался! Мой совет: если надо перехватывать пито openProcess и всякое такое то пиши драйвер! Если тупо изменение какого то ключа - о это можно сделать внутри проги! Смотришь, если у ключа другое значение, то просто его возвращаешь к исходному! Dll вариант хреновый, и сложный! А по драйверам инфы хотя-бы много!
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
09.09.2015, 17:52  [ТС]
Мне нужно отслеживать для всех ключей/разделов/файлов, и знать какая именно программа модифицирует.
0
4 / 4 / 1
Регистрация: 23.01.2015
Сообщений: 330
09.09.2015, 17:56
Ну тогда я не уверен... но как мне кажется тут можно отделаться каким-нибудь хуком!
0
 Аватар для RostorLuxor
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
14.09.2015, 17:35  [ТС]
Каким?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.09.2015, 17:35

Как использовать в Java-программах собственные события?
Здраствуйте. Прошу помощи у добрых людей! В моей программе взаимодействуют два класса: GUI и внутренней логики InternalLogic. Класс...

Как использовать подпрограммы из библиотеки <.DLL> в программах?
Как использовать подпрограммы из библиотеки &lt;.DLL&gt; в программах на Visual C++, (статически) если для файла &lt;.DLL&gt; нет файла...

Можно ли с помощью хуков перехватывать вызовы функций из DLL?
Привет народ! Для одного проекта ;) мне понадобилось перехватывать функцию, находящуюся в DLL (а точнее в kernel32.dll, т.е....

Использование dll в программах
приветствую! у меня есть проблема : я не знаю как использовать dll. есть вот такая dll : Library NotActivation; procedure...

Написать dll для дальнейшего использования в программах на других языках
как правильно написать dll чтоб ей можно было пользоваться программам на других языках, например, на delphi


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru