Аналог chroot в windows

Do you want to find the best Chroot for Windows alternatives for Windows? We have listed 20 System that are similar to Chroot for Windows. Pick one from this list to be your new Chroot for Windows app on your computers. These apps are ranked by their popularity, so you can use any of the top alternatives to Chroot for Windows on your computers.

Top 20 Software Like Chroot for Windows — Best Picks for 2025

The best free and paid Chroot for Windows alternatives for windows according to actual users and industry experts. Choose one from 20 similar apps like Chroot for Windows 2025.

Communication Software for FANUC CNC

A simple to use application that allows you to quickly transfer data or files between your computer and the FANUC CNC machine you manageCommunication Software for FANUC CNC is a reliable program that you can use as a remote…

Developer: Open Communication for FANUC

PMW (Process Manager for Windows)

Close active windows directly from the title bar menu, or tray icon, hide everything, set priority level of foreground processes, or configure window transparency levelEverything running on your computer is monitored by the Task Manager so you can kill…

Developer: Arif Ali Saiyed

Kernel for Draw

Repair any of your corrupted or damaged ODG (Openoffice Draw) files with only a few mouse clicks when using this fast, intuitive application   DISCOUNT: 40% OFF!Kernel for Draw is an application which will help you repair damaged Openoffice Draw files.Following…

Developer: Data Recovery Software

MIME Indexer for Google Desktop

MIME Indexer is a Google Desktop Plug-in that indexes MIME files (.eml) stored on your computer.MIME Indexer is a Google Desktop Plug-in that indexes MIME files (.eml) stored on your PC.Here are some key features of «MIME Indexer for…

Developer: Active+ Software

PHD Virtual Backup for Citrix XenServer

A virtual machine backup solution.PHD Virtual Backup for Citrix XenServer is a powerful application that is designed to help you backup your virtual machine. It is a all-in-one solution that can be managed from the Citrix XenCenter management console.The…

Developer: PHD Virtual Technologies

IntelliTrace Collector for Visual Studio

A Visual Studio data logger that can extract debugging information from applications you execute, enabling you to analyze the program and find bugsThe IntelliTrace collector is a standalone tool that you can use to collect IntelliTrace data from apps…

Developer: Microsoft

NCD Command Tool for dos

The NCD.EXE allows you to control NCD products directly from a command lineThe NCD.EXE allows you to control NCD products directly from a command line interface in DOS.NCD.EXE does NOT require 3rd party tools or components, as it speaks…

Developer: National Control Devices

Integrator Theme for Rainmeter

Lightweight and reliable Rainmeter theme that can be used to monitor CPU / RAM usage, launch directories, applications and websitesIntegrator Theme for Rainmeter was developed as a useful module that can help you launch applications and monitor resource usage.You…

Developer: Ioannis Hikari

Recover Data for Oracle Database

Easily repair Oracle database filesRecover Data for Oracle Database is an advanced application designed to repair corrupted and damaged .dbf files of Oracle 9i/10g/11g.Recover Data for Oracle Database helps in recovering tables, views, table spaces, cluster tables, schemas, synonyms, roles, indexes, sequences, cursor,…

Developer: Recover Data

Windows Event Viewer Plus

Lightweight and portable application that enables users to view event logs in a comfortable working environment, catering to administratorsWindows Event Viewer Plus is a small-sized and portable application that enables users to view Windows event logs faster that using…

Developer: Windows Club

Windows Media Bonus Pack

Windows Media Bonus Pack for Windows XP is full of with utilities, PowerToys, visualizations, skins and much moreWindows Media Bonus Pack is a collection of resources that you can use with the Windows Media Player in order to enhance…

Developer: Microsoft

Windows Access Panel

Easily access numerous features of WindowsWindows Access Panel is a simple app designed to provide easy access to some important Windows features that cannot be directly reached from ‘Control Panel’.This piece of software comes in handy if you’re not…

Developer: Windows Club

Windows Assessment and Deployment Kit (ADK)

A useful package that facilitates and automates the handling of several Windows installation procedures in professional and business environments What’s new in Windows Assessment and Deployment Kit (ADK) 1.0 for Windows 10 v1903: The latest WPA has two new…

Developer: Microsoft

Advanced Windows Mail Recovery

Allows you to recover deleted emails from Windows Mail and Live Mail.This piece of software is precise, will ignore corrupted indexes and will build up it’s own database of emails which can then be saved as EML files (Can be opened…

Developer: Advanced Media Recovery

Windows secure backup

A backup application for you to use.Windows secure backup is a backup application designed to create a backup of a directory tree on a secondary device using strong encryption.

Developer: Deepti Kangutkar

Windows 7 Taskbar Thumbnail Delay Time Tweaker

Boost Up W7 Taskbar Thumbnail Delay TimeWindows 7 Taskbar Thumbnail Delay Time Tweaker is a handy and reliable utility designed to enable you to tweak (increase/decrease) the delay time for opening the taskbar thumbnail.Just scroll the trackbar and click «Apply» to increase/decrease…

Developer: Paras Sidhu

My Windows Alarm

A lightweight, straightforward alarm clock which can either remind you of important events, or shut down the computer at the specified timeGetting up in the morning might sound like an easy challenge, but it’s not always so enjoyable to…

Developer: Dumitru Florin Gabriel

File Watcher Windows Service

A windows service that enables you to watch specific files or foldersFile Watcher Windows Service is a simple and easy-to-use command-line utility that allows you to monitor a specific file or folder.The application reads start parameters at startup. The…

Developer: Jussi Hiltunen

Thread Status:

Not open for further replies.
  1. I’ve been messing around with Sandfox on Linux and I think it’s pretty cool. Kind of like Sandboxie for *nix; you can create somewhat more secure chroot environments for almost any application. (Somewhat more secure because Linux chroot is IIRC less secure than BSD chroot, but yeah.)

    So going full circle back to Windows… Does Windows NT have an equivalent to chroot so you could pull something like this off? Not that there’s anything wrong with Sandboxie, but I would think that a chroot-like mechanism could perhaps be more flexible, e.g. you could tell it precisely what libraries to let a program read from, and it might work better for running services and stuff.

  2. Is it something like GesWall? I think it is.
    http://www.gentlesecurity.com/geswall.html

  3. I was referring to built-in stuff… But it seems the closest thing Windows offers to a chroot jail is the «runas» command. I already knew about the «Protect my computer from unauthorized program activity» option, but I didn’t realize that it had a bunch of trust levels; maybe one of those trust levels would be useful for sandboxing stuff, without creating so many restrictions that the program doesn’t work?

Thread Status:

Not open for further replies.

Contents:

  1. Introduction
  2. What’s a Device Map?
  3. How’s it Work?
  4. Usages
  5. What’s the Catch?
  6. Enough Talk – Gimme

Introduction

Linux people who have to work in Windows are often talking about the basic tools it has which are absent from Microsoft’s product. While recent developments of Windows are slowly catching up with variously featured versions of whoami, ln (mklink) cat (copy con), grep (find), ps (tasklist, taskkill) and chmod (icacls), one app that’s so far evaded the conversion is chroot.

For those unaware, chroot allows you to run an application using some specified directory as its filesystem root dir instead of the normal filesystem root. Whatever the reason may be for its absence, it is definitely not because there’s is no support mechanism for it. Just like in Linux, it’s a single function call.

NtSetInformationProcess(hProcess, ProcessDeviceMap, &hObjectDirectory, sizeof(hObjectDirectory));

What’s a Device Map?

Ok, so it’s technically one function call, but there needs to be a bit of setup beforehand. The first step is understanding what a device map is, and the answer is… a bog standard object manager directory [1]. Sllightly underwhelming I know, though that’s only half the story. It’s actually a bog standard object manager directory filled with bog standard symlinks.

If you’ve never poked around before or read anything about what drive letters represent to the object manager, then you may not know that drive letters are merely syntactically sugary symbolic links pointing to the portion of the actual device, volume, or file system directory they reside on:

The global device map

The global device map with drive letters highlighted

The symbolic links in the device map directory perform exactly the same purpose. In fact, they take exactly the same format too. In a chroot situation, the only thing that you wouldn’t want to be the same are the targets of the symlinks.

How’s it Work?

The process device map is the first port of call in the lookup of dos device names. This MSDN page explains the lookup process and seperation between Local [1] and Global names. Setting an explicit device map effectively replaces the local DosDevices directory in the lookup process.

Every time a program passes a path starting with the \??\ prefix to a kernel function, this two stage lookup process is activated [2]. The searching looks at the first component of the path, if an entry for it exists in the device map directory then that’s used and everything is well and good. If it doesn’t, the same thing is looked for in the global directory before being given up as a bad job. it’s called an invalid name.

Two things we can make from that:
1) Drive letters aren’t the only things you can redirect. The Pipe, Mailslot and UNC roots are in the global dos directory, so they’re fair game too.
2) You cannot take away any devices from being looked up, only overwrite them or add new ones. Of course, you can overwrite entries to point to an invalid location

Usages

For typical chrooting purposes, starting a suspended process and setting the device map before resuming it is the optimal usage but there’s nothing stopping you from using it on any already running process you have the required access to.

Also, unlike the Linux call, you don’t need elevated permissions to foist it upon a process. As long as you can open a process handle with the PROCESS_SET_INFORMATION right (the Vista+ PROCESS_SET_LIMITED_INFORMATION won’t cut it) you can change the device map and thus curtail its access.

What’s the Catch?

There are a few points to consider on its ultimate usefulness. Since anybody can set a device map at any time with no special privileges, just like in Linux, there’s no guarantee that a rooted process will stay rooted (though in Linux it requires root permissions to escape).

Another downside is that, as of Win7, child processes don’t inherit the device map of their parent. Instead they revert to the default global and local directories.

A third is that, unlike Linux, you can’t use this to create a second ‘version’ of Windows in the chroot dir due the effects of KnownDLL loading, which overrides the device map paths. You will need to copy any non-KnownDll system dlls a program depends on to the chroot dir in order to run them.

There’s also a bug in the WoW64 layer which makes it impossible for a 32-bit process to set a new device map on a 64-bit process [3].

Enough Talk, Gimme

Even with all its flaws, somebody might find a use for such a utility. with that, you can find the C++ source code and a 32/64 bit exe for a chroot-esque program here. Happy rooting.


Notes:

[1]: The default Local directory isn’t actually \Sessions\\DosDevices though that can exist, it is \Sessiona\0\HighLogonLuid-LowLogonLuid\. You can change or add mappings to this directory, and they will affect all processes launched in that session.

[2]: If you’ve never seen paths starting like this, that’s because CreateFile internally prepends it to the normal C:\blah\de\blah for you. If you pass CreateFile with a path starting \\.\ (like pipes and mailslots), \\?\ (like for long paths), or \\ (as in a UNC \\server\share path) that prefix is switched to \??\ and still follows the lookup process.

[3]: There is an oversight in the WoW64 layer for NtSetInformationProcess which makes it impossible for any 32-bit app to use this method. In native circumstances, a call to NtSetInformationProces enters the kernel immediately and validates that you passed a buffer whose size equalled sizeof(HANDLE) and you live and die by that.

In WoW64 circumstances, a call to NtSetInformationProcess is routed through wow64cpu’s X86SwitchTo64BitMode to whNtSetInformationProcess. This function is responsible for ensuring buffer sizes are big enough to call the real NtSetInformationProcess and for unpacking what it returns so the values are manageable to the 32-bit code, herein lies the bug.

00000000`73ab1fec       mov     edx,17h ; 17h is ProcessDeviceMap
00000000`73ab1ff1       cmp     r10d,edx ; if the info level is higher than that, jump
00000000`73ab1ff4       jg      wow64!whNtSetInformationProcess+0x285 (00000000`73ab2245)
00000000`73ab1ffa       cmp     r10d,edx ; if it ProcessDeviceMap, jump to below
00000000`73ab1ffd       je      wow64!whNtSetInformationProcess+0x25b (00000000`73ab221b)
....
00000000`73ab221b       cmp     r9d,24h ; if the buffer size is greater than or equal to 36 (0x24) jump to the call below
00000000`73ab221f       jae     wow64!whNtSetInformationProcess+0x26b (00000000`73ab222b)
00000000`73ab2221       mov     eax,0C0000004h ; otherwise return STATUS_INFO_LENGTH_MISMATCH
00000000`73ab2226       jmp     wow64!whNtSetInformationProcess+0x46b (00000000`73ab242b)
00000000`73ab222b       mov     ecx,dword ptr [r8]
00000000`73ab222e       mov     qword ptr [r8],rcx
00000000`73ab2231       mov     r9d,28h
00000000`73ab2237       mov     rcx,r11
00000000`73ab223a       call    qword ptr [wow64!_imp_NtSetInformationProcess (00000000`73aa1ad8)]

The thunk checks the input buffer size as greater than or equal to the whole PROCESS_DEVICE_MAP structure, including the significant portion used only by NtQueryInformationProcess. Since you cannot satisfy both equal to sizeof(HANDLE) (8 on x64) and greater than 36, it is impossible to use.

Целиком задачу озвучь. Настоящую, а не твоё мнение по её решению.

t184256 ★★★★★
()



Последнее исправление: t184256
(всего

исправлений: 1)

  • Ссылка

в чём сакральный смысл

войти в chroot линя из винды?

мне правда интересно

в 10-ке что то есть подобное, вроде «подсистема линукс»

у Вас слишком общие представления о chroot, linux, windows

anonymous
()

  • Показать ответ
  • Ссылка

WSL чтоле? По-моему в семерочку такое не завозили. Попробуй windows 10 там и WSL и chroot и root и все что хошь

  • Ссылка

Ответ на:

комментарий
от anonymous

мне правда интересно

Ты думаешь он там как-то убедил винду смонтировать линуксовую фс, научил запускать ELF и только сисколла для чрута ему не хватает? Или что он почти изобрёл как его там, coLinux?

Нет, ему втемяшилось в голову, что для решения невинной простой задачки могло бы подойти совершить почти невозможное. Осталось вытянуть клещами задачку.

t184256 ★★★★★
()

  • Показать ответы
  • Ссылка

В семерке есть только Subsystem for UNIX-based systems (просто консоль linux korn shell где можно вводить команды linux, не больше). Так что извини, в семерке таких извращений нету

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Dumppper001

в семерке таких извращений нету

За это я её и люблю. Тихая, добрая, уютная семёрочка. Мммм, няшечка.

anonymous
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от anonymous

Ответ на:

комментарий
от Dumppper001

Как может злобный линупс конкурировать с прекрасной, добродушной семёрочкой ?

anonymous
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Dumppper001

Спасибо, очень жаль конечно.

boggaar
()

автор топика

  • Ссылка

Ответ на:

комментарий
от anonymous

Это не конкурирование а просто сравнение и я все понимаю что линукс и семерка разные вещи

  • Ссылка

Ответ на:

комментарий
от t184256

Сложно это всё…

boggaar
()

автор топика

  • Ссылка

Ответ на:

комментарий
от t184256

я chroot использовал для установки и/или «ремонта» линукс-систем. что можно делать в воображаемом «chroot из 7-ки в линукс» так и останется загадкой и для меня, и для Вас. ТС не имеет опыта даже «админа локалхоста» ни в windows, ни в linux – вот и «фантазирует».

anonymous
()

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от anonymous

Ответ на:

комментарий
от Dumppper001

нет. он ещё ничего не смыслит в своей задаче-проблеме(?), но желание действовать бьёт ключом.

anonymous
()

  • Ссылка

да ты лучше в виртуалке с доступом к жесткому диску прямым запусти установленный линукс, что chroot то делать, когда можно полноценную систему запустить.

xmikex ★★★★
()

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Двухфакторная авторизация windows server 2012
  • Консоль python для windows
  • Git windows русские символы
  • Microsoft surface windows rt 32gb
  • The saboteur не запускается на windows 10