| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > облом OpenProcess? |
| Автор: Kirka 8.4.2006, 16:31 |
| Есть некий процесс(программа), в неё подключена DLL, которая обламывает OpenProcess на этом процессе! Никаких драйверов нет - это точно, ДЛЛ просто подключается и как-то запрещает делать OpenProcess на её процессе из других процессов. GetLastError() не могу сделать, потому что у меня вышеупомянутая программа открывается OpenProcess'ом но у других - нет, из-за специальной .dll(у меня программа взломаная таким образом, что эта длл не подключается)... кароче говоря поясните, каким образом DLL может запрещать открывать её процесс функцией OpenProcess ??? |
| Автор: Fin 8.4.2006, 18:18 |
| Из того ломанного объяснения, можно сделать вывод. Что сушествует какая то Dll, которая перехватывает функцию OpenProcess. В книге Д.Рихтера "Виндовс - для проффессионалов" в главе 22 описывается данное действие. |
| Автор: Kirka 9.4.2006, 23:19 |
| кроме перехвата самой функции OpenProcess нет способов? установка какого-нибудь особого разрешения к памяти процесса или что-то в этом роде изза чего OpenProcess будет выдавать ошибку? |
| Автор: _hunter 10.4.2006, 10:53 |
| ну так выведи в MessageBox сообщение на том компе -- тогда будет понятно в чем проблема |
| Автор: Kirka 10.4.2006, 12:12 |
| как установить Security Descriptor на процессе, чтобы запретить на нём OpenProcess? |
| Автор: Fin 10.4.2006, 15:16 | ||
| Можно ограничивать некоторые действия программы. Есть такая возможность винды "Задание". Но она не работает на 98 винде. Вот цитата,
Но я не думаю, что ты с помошью этого сможеш закрыть вызов функции. Добавлено @ 15:19 Посмотри функции CreateJobObject, SetInformationJobObject, AssignProcessToJobObject. |
| Автор: VectorMan 11.4.2006, 15:29 | ||
а чем тебе не нравится идея с перехватом? можно заюзать библиотечку http://research.microsoft.com/sn/detours/ от MS |
| Автор: Kirka 11.4.2006, 17:18 |
| так тем что мне обойти надо этот перехват, а не осуществлять =) |
| Автор: adonin 11.4.2006, 17:35 |
| На самом деле, нужно просто дезассемблировать эту dll и глянуть, в чём там фокус. Посмотрите таблицу импорта у этой dll. Есть ли там функции работы с дескрипторами безопасности? Или что другое интересное есть? Вообще то однажды видел код, который без всяких драйверов выполнял функцию в нулевом кольце привилегий. В принципе, эта длл могла перехватить native api. Чтобы сказать точно, какой механизм применяется здесь, нужно дезасемблировать библиотеку. |
| Автор: Fixin 11.4.2006, 19:21 |
| Что есть незаконно. Дать ссылку на правила? Следите за такими мелочами. Пока я добрый, так что живите. |
| Автор: adonin 12.4.2006, 11:18 |
| Понял, исправлюсь |
| Автор: Fixin 15.4.2006, 15:42 |
| Это понятно, но там и не докажешь... И, как минимум, не стиот способствовать |