![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Можно ли это сделать, чтобы пресечь запуск этого приложения, например, запросить пароль и т.д.?
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
Riddik
Средствами виндоуз, установить права доступа, к примеру дать доступ для запуска приложения только одному пользователю и убрать со всех остальных. Если нужно просто перехватить запуск - тогда вопрос как будет идти идентификация процесса? т.е. каким образом вы поймете что это именно тот процесс который нужен? file name, path? файл можно переименовать или переместить. Вообще задача немного непонятная. Добавлено через 4 минуты и 24 секунды Еще варианты - плоды больного воображения 1. Перехватить CreateProcess 2. Подключать DLL ко всем запускаемым процессам (через регистры или другими методами) и проверять при запуске 3. Зашифровать файл и позволять запуск только через свое приложение (которое расшифрует перед запуском) вариантов много, и у каждого свои проблемы |
|||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
file name или path не будут изменены. Пользователь один - он же админ. Иногда имеет доступ к компу другие люди, нужно просто не разрешать иногда им запускать один exeшник.
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
Если эти пользователи сидят по администратором - то в идеале никак нельзя. Все что вы сделаете - администратор может с легкостью убрать А так, самый легкий способ это подключать ДЛЛ ко всем стартующим приложениям и проверять GetModuleFileName. Если наша программа, остаемся висеть, если нет - отгружаемся. Путь к длл записать в HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs Есть исключения, ДЛЛ не подключается к тем программам, которые не подгружают user32.dll (таких приложений очень мало). Проблема: Пользователь может удалить из регистров этот путь и тогда он все прекрасно запустит. Решение есть, но они все извращенные и как ни странно тоже не идеальные. Это сообщение отредактировал(а) azesmcar - 4.5.2009, 10:42 |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
проще всего - заразить этот .ехе своим кодом
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
Riddik
а шифровка программы не подходит? Добавлено через 55 секунд
конечно, проще простого. Только надо обойти антивирусы. |
|||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
GoldFinch, как можно заразить своим кодом, интересно?
azesmcar, скорее всего не подойдёт. В принципе, в этом случае можно не волноваться что администратор или другие пользователи иогут удалить из регистров этот путь и т.д. Вот надо попробовать заразить exe своим кодом, как это делается? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
||||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
azesmcar, нет, к сожалению. Значит, только ассемблером?
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 5 Всего: 211 |
exe файл это бинарный код, вставить в него что либо можно только на ассемблере либо напрямую нулями и единицами Это сообщение отредактировал(а) azesmcar - 4.5.2009, 11:46 |
|||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
Я тут подумал, может дезассемблить этот файл, чуть изменить, а потом опять..
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 2 Всего: 26 |
"заразить" наверное не совсем верный термин, правильнее наверное "расширить функциональность" программы
для этого есть несколько подходов наиболее простой - написать длл на ЯВУ типа С++ и добавить эту длл в импорты самого .ехе или длл которые этот .ехе использует (не системных конечно). антивирусы на такое "заражение" внимания не обращают другой подход - это написать на асме код (например вызов LoadLibraryA для загрузки своей длл), записать его в свободное место .ехе и перенаправить туда точку входа .exe (или все то же самое для одной из длл) этот способ может непонравиться некоторым антивирусам, что впрочем необязательно, зато может скрыть факт загрузки своей длл и ее имя |
|||
|
||||
| Riddik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 2.12.2006 Репутация: нет Всего: нет |
GoldFinch, спасибо.
|
|||
|
||||
| DrHex |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 2.5.2009 Репутация: нет Всего: нет |
- Написать свой пакер при запуске запрашуеш пароль, если нормально разпаковываеш, загрущаеш exe.
- Устанопить хук на создание процесса(антивирусники могут ругатся) --------------------
google.com и это все. |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 8 Всего: 154 |
можно установить свое приложение отладчиком для другого, это прописывается где-то в реестре Добавлено через 1 минуту и 11 секунд и все это может приводить к нестабильной работе системы |
|||
|
||||
![]()
|
| Правила форума "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. |