Господа, нужна ваша помощь Мне нужно под управлением ОС видоуз сделать thread который не сможет читать/писать/исполнять ничего кроме разрешенного куска памятиЭто физически возможно?
>>879673 (OP)Используй Brainfuck.
>>879676Я лучше использую твою мамку, шутник
>>879685Ну, используй Си тогда, с указателями.Или typed assembly, например.
>>879687Я не про язык спрашиваю, а про то, можно ли ограничить права доступа у отдельного треда
По-моему нельзя. Можешь отдельный процесс запустить и расшарить с ним нужную память.
>>879693Thx
>>879673 (OP)Нет нельзя. Гугли динамическую рекомпиляцию и pnacl. /thread
>>879673 (OP)да, возможно. Придётся написать драйвер, обойти патчгард и пропатчить ядро.
использую Lua
Пока собрал руками PE с одной RWE секциейК сожалению можно запускать только с сабсистемой и всеми плюшками, в адресное пространство грузятся kernel32, KERNELBA, ntdllПочти у всех секций можно запретить доступ, кроме тех, кто с адреса 7EFB0000, они RW
>>880110Посмотри сюда еще (самое начало про новые виды процессов): https://www.youtube.com/watch?v=36Ykla27FIoНо это Windows 10+ и через жопу.
>>880428Какой же пиздец.
>>880919Ну почему же пиздец? Если бы программный доступ дали - был бы охуенный инструмент для кодинга всяких песочниц.
Я немного продвинулся, что есть сейчас:- создаю пустой PE, который делает одну секцию с определённым базовым адресом и размером- запускаю dummy CREATE_SUSPENDED процесс из этого PE- прохожусь по страницам памяти этого процесса и запрещаю доступ ко всем, кроме моей секцииКое что не получилось, а именно запретить доступ к трём страницам, они имеют Type MEM_MAPPED и MEM_PRIVATEХз, может что-то системное, благо они PAGE_READONLY так что лишь немного мешают
>>881757Кто мешает потоку попросить систему поменять доступ обратно?
>>881757Режим телепатии on.Как ты решишь problem когда вредоносный код вызовет syscall для обхода твоих блокировок_доступа?.Режим телепатии off.
Я ( >>881848 ) патчил страницы процесса, чтобы запретить доступ к user32 и kernel32. Но облос с syscall меня остановил.
>>881848Что насчётSetProcessMitigationPolicyи тама ProcessSystemCallDisablePolicy?Кажись можно сисколы выключить
>>881780Я так понял, что единственный способ что-то сделать после того, как все страницы памяти заблокированны это сделать syscallЕсли его запретить, то кажись всё норм
>>881886Windows 8 +Я ( >>881848 ) бросил такую идею системы безопасных нативных подключаемых модулей. Chromium sandbox такое могёт.
>>881893>Если его запретить, то кажись всё норм Проще виртуальную машину написать без опасного функционала, чем ограничивать существующие general-purpose платформы.
Не вздумай такой вопрос задавать на StackOverflow - получишь -100500 к рейтингу.
>>881898а может .net?
Я уже предлагал pnacl. Готовое и работающее решение для песочниц, и кроссплатформенное к тому же.