|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
exe в вакууме или как приложение отгородить от системы
Вопрос такой: как реализовать , чтобы exe не имел доступа к файловой системе. Это нечто схожее с драйвером файловой системы, но тогда ведь ни одно приложение не будет иметь доступ, а мне нужно определенное.
Если же без драйвера не обойтись, то не подскажите еще вот, что: можно ли программно создать юзера в винде, запретить этому юзеру всякое действие в системе(открытие , чтение всяких файлов и т.п), а потом запустить другую программу в созданном юзере, будучи в имеющимся ? надеюсь кто то понял ;D Если кто то встречался , то подскажите . есть тут пример http://www.delphisources.ru/pages/so...protector.html есть что то подобное, но для всего диска ? Последний раз редактировалось stas971, 25.10.2014 в 01:03. |
#2
|
||||
|
||||
Есть возможность запустить exe из другой программы и полностью управлять его импортами, в том числе импортами библиотек, которые он подгружает. Подменяем вызов CreateFile на что-то, возвращающее "INVALID_HANDLE", и радуемся.
Пример писать не буду, гуглите сами. И, да, естественно все антивирусы будут очень неприлично ругаться на такое поведение. Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
спасибо за направление, а не подскажите правильное название этой процедуры/функции, по которой нужно гуглить ?
|
#4
|
||||
|
||||
Шта?!
Берете жавамашину, настраиваете и в ней запускаете жавапрограмму, вот вам и программа в вакууме. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
Называется "Песочница" (Sandbox).
Цитата:
Так что сие решается только двумя путями. Первое - драйвер, который, насколько я знаю, при желании может определить, кто его вызвал, после чего разрешить/запретить доступ. В крайнем случае драйвер может пропатчить syscall-таблицу, но при отсутствии должных знаний так можно добиться только BSOD'а (а также нарваться на PatchGuard в новых вендах). Любой нормальный антивирус будет очень ругаться. Второе - эмулятор. Самопальная виртуальная машина с вендой, со своим почти пустым виртуальным диском и так далее. 100% рабочий метод. Но написать эмулятор - занятие не на 2 вечера. Проще всего использовать какой-нибудь qemu. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 25.10.2014 в 16:04. |
#6
|
||||
|
||||
Цитата:
http://www.delphisources.ru/pages/so...-emulator.html Правда исходник галимый и представляет из себя Бокш, портированный на дельфи. Будучи студентом, использовал чать кода этого (за основу была взята другая версия исходника, со значительным количеством исправлний в работе) проекта для своего курсача: — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию Последний раз редактировалось M.A.D.M.A.N., 25.10.2014 в 17:19. |
#7
|
||||
|
||||
Цитата:
А вообще, хоть борщ, хоть куему, хоть вбокс - не важно. VBox вообще куски кода куему юзает. Не удивлюсь, если и куему с борщем не сильно отличаются. Но это решение все-таки совсем не написание эмулятора, это портирование или небольшие модификации. В данном случае так и надо делать. jmp $ ; Happy End! The Cake Is A Lie. |
#8
|
||||
|
||||
Цитата:
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#9
|
||||
|
||||
Цитата:
Я же говорю хотя бы про какой-нибудь WinXP. jmp $ ; Happy End! The Cake Is A Lie. |
#10
|
|||
|
|||
Цитата:
к сожалению, никаких примеров песочниц на делфи я не нашел ((( не поможете с примером ? подумываю сделать что то типо такого : программно создать нового юзера, запретить ему любые действия как в реестре так и в любой директории, операциями с файлами и запустить определенный софт под ним ... как считаете, это разумно ? или есть куда лучше и легче способ ? Последний раз редактировалось stas971, 29.10.2014 в 22:20. |
#11
|
||||
|
||||
Цитата:
Запретить доступ в реестре можно, но полностью ко всем директориям не думаю, что получится. Цитата:
Если искать, то на Си всякие opensource sandbox. jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 30.10.2014 в 00:31. |
#12
|
|||
|
|||
в общем, найти пример песочницы на делфи практически не реален ((( . Слышал, что в ddk (или уже wdk) имеется пример мини фильтра. Загрузил ddk версии 7600, проверил, вроде и в правду имеется в примерах. Но проблема не решена, есть ли ddk под delphi ? или именно этот пример. Не подскажите ?
|
#13
|
||||
|
||||
А при чем тут ддк и дельфи? ДДК -- это набор инструментов для разработки драйверов.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#14
|
|||
|
|||
Цитата:
|
#15
|
||||
|
||||
ДДК сишная шляпа. В принципе есть дикий, извращённый способ скомпилировать драйвер на дельфи.
Я понимаю, если бы вы задали вопрос «как скомпилировать драйвер и обратиться к нему из дельфи», вот это было бы логично. — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |