Token Universe is an advanced tool for experimenting and researching Windows security mechanisms. It exposes UI for creating, viewing, impersonating, and modifying access tokens, spawning processes, managing Local Security Authority, checking available access and modifying security of many types of objects, and much more. The program can operate and (at least partially) provide valuable functionality under a wide range of privileges, from LPAC AppContainer sandbox to SYSTEM with SeTcbPrivilege and SeCreateTokenPrivilege.
The tool supports Windows 7 and above. See the releases page for pre-compiled binaries.
If you encounter bugs and know how to reproduce them, feel free to open issues. Additionally, you can download debug symbols (TokenUniverse.dbg) from the releases page and place them into the same folder as TokenUniverse.exe, allowing the program to show stack traces on unhandled exceptions.
For instructions on how to compile the project, see a section below.
| Key | Value |
|---|---|
| Author | diversenok |
| Version | 0.5 |
| Date | August 7th, 2023 |
| Compiled with | Embarcadero Delphi 10.4 |


There are a lot of already implemented features, but there are also many more to go. Here is the overview of both:
To compile the tool, you can use the free Community Edition of Embarcadero Delphi. After installing it, the steps are the following:
git clone --recurse-submodules. Alternatively, you can use git submodule update --init after cloning the repository.NtUtilsUI directory, otherwise, you didn't clone the submodules.VirtualTree for VCL using the IDE menu Tools -> GetIt Package Manager.
NtUtilsUIComponentsVirtualTreesExtension.dproj in the IDE and click Install on the project to register it as a design-time package.
NtUtilsUIVclExVclExtension.dproj and click Install.TokenUniverse.dproj project.Additionally, if you also want to generate debug symbols during compilation, you'll need map2dbg - a tool that converts *.map files generated by Delphi into *.dbg files that dbghelp.dll can understand. The project is already configured for generating *.map files and using a post-build event, so you can download map2dbg from an answer to this Stack Overflow question and place it somewhere where the Delphi compiler can find and invoke it.