PDA

Показать полную графическую версию : Скрытие программы от другой программы


sx000
07-11-2010, 16:16
Есть две программы X и Y, среда Windows. Задача: Программа Y не когда не должна найти программу X, не по процессам, не по остальным признакам на диске... как сделать такое отсечение? Посоветовали создавать виртуальную среду для программы X, но к сожалению мне надо это чтоб программист включил в инсталятор, те использовал бы какую то стороннюю библиотеку... Может посоветуете еще какие то варианты?

Ru_Coder
07-11-2010, 16:48
Почему то мне кажется что вы хотите написать вирус и скрыть его.. что бы пользователь не смог найти его.

sx000
07-11-2010, 16:59
очень смешно, стал бы я тут писать. Пользователь как раз и будет запускать программу X сам, это в его интересах. Все легально не какого криминала ... Просто вот нужно как то уйти от программы Y, чтоб она не смогла получить доступ не к процесса X не к файлам соответственно чтоб не могла найти ее на диске.

ganselo
07-11-2010, 17:26
Перехват API функций поможет.
NtQuerySystemInformation - для скрытия процесса во всяких диспетчерах задач.
ZwQueryDirectoryFile - скрытие самого файла в проводнике (explorer.exe).

sx000
07-11-2010, 17:31
ловить запросы от Y на предмет доступа скажем к папке с программой? ... или процесса?
хм ...

ganselo
07-11-2010, 18:59
ловить запросы от Y на предмет доступа скажем к папке с программой? ... или процесса?
хм ... »
Суть в том, что если программа Y захочет получить содержимое папки, то она вызовет API функцию ZwQueryDirectoryFile. Эта функция возврящает список файлов и деркторий. Мы перехватим результат выполнения этой функции (т.е. получим список файлов и папок), изменим содержимое (т.е. удалим из списка X) и вернём результат программе Y. Так же и с процессами.

sx000
07-11-2010, 19:03
Я понял это осталось только выяснить каким методом может программа Y искать программу X ну какие запросы слать будет на API. Я думаю эти две функции только часть ...

sx000
07-11-2010, 21:28
мне кажеться это не сильно надежный метод защиты

QRS
07-11-2010, 21:46
Программа Y не когда не должна найти программу X, не по процессам, не по остальным признакам на диске »
Программа Y должна запускаться под другой учетной записью, нежели программа X, причем она (учетная запись) не должна иметь доступа (через ACL) к папкам программы X.

ganselo
08-11-2010, 00:08
мне кажеться это не сильно надежный метод защиты »
Ну если программа Y не будет знать, что происходит перехват и не будет препядствовать, то вполне надёжно.




© OSzone.net 2001-2012