![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Kirka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.3.2006 Репутация: нет Всего: нет |
Есть некий процесс(программа), в неё подключена DLL, которая обламывает OpenProcess на этом процессе! Никаких драйверов нет - это точно, ДЛЛ просто подключается и как-то запрещает делать OpenProcess на её процессе из других процессов.
GetLastError() не могу сделать, потому что у меня вышеупомянутая программа открывается OpenProcess'ом но у других - нет, из-за специальной .dll(у меня программа взломаная таким образом, что эта длл не подключается)... кароче говоря поясните, каким образом DLL может запрещать открывать её процесс функцией OpenProcess ??? |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
Из того ломанного объяснения, можно сделать вывод. Что сушествует какая то Dll, которая перехватывает функцию OpenProcess. В книге Д.Рихтера "Виндовс - для проффессионалов" в главе 22 описывается данное действие.
-------------------- Пролетал мимо. |
|||
|
||||
| Kirka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.3.2006 Репутация: нет Всего: нет |
кроме перехвата самой функции OpenProcess нет способов? установка какого-нибудь особого разрешения к памяти процесса или что-то в этом роде изза чего OpenProcess будет выдавать ошибку?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 13 Всего: 98 |
ну так выведи в MessageBox сообщение на том компе -- тогда будет понятно в чем проблема
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Kirka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.3.2006 Репутация: нет Всего: нет |
как установить Security Descriptor на процессе, чтобы запретить на нём OpenProcess?
|
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
Можно ограничивать некоторые действия программы. Есть такая возможность винды "Задание". Но она не работает на 98 винде.
Вот цитата,
Но я не думаю, что ты с помошью этого сможеш закрыть вызов функции. Добавлено @ 15:19 Посмотри функции CreateJobObject, SetInformationJobObject, AssignProcessToJobObject. -------------------- Пролетал мимо. |
|||
|
||||
| VectorMan |
|
|||
|
Antihero ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 9.4.2006 Репутация: 1 Всего: 4 |
а чем тебе не нравится идея с перехватом? можно заюзать библиотечку detours от MS |
|||
|
||||
| Kirka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 7.3.2006 Репутация: нет Всего: нет |
так тем что мне обойти надо этот перехват, а не осуществлять =)
|
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
На самом деле, нужно просто дезассемблировать эту dll и глянуть, в чём там фокус. Посмотрите таблицу импорта у этой dll. Есть ли там функции работы с дескрипторами безопасности? Или что другое интересное есть? Вообще то однажды видел код, который без всяких драйверов выполнял функцию в нулевом кольце привилегий. В принципе, эта длл могла перехватить native api. Чтобы сказать точно, какой механизм применяется здесь, нужно дезасемблировать библиотеку.
--------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Что есть незаконно. Дать ссылку на правила? Следите за такими мелочами. Пока я добрый, так что живите.
|
|||
|
||||
| adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: 2 Всего: 5 |
Понял, исправлюсь --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
| Fixin |
|
|||
![]() Ёжик ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1357 Регистрация: 6.1.2004 Репутация: 8 Всего: 18 |
Это понятно, но там и не докажешь...
И, как минимум, не стиот способствовать |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |