NSudo
[Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools
Top Related Projects
Dism++ Multi-language Support & BUG Report
Windows Driver and XInput Wrapper for Sony DualShock 3/4 Controllers
Quick Overview
NSudo is a powerful system administration tool for Windows that allows users to run programs with full privileges of the TrustedInstaller account. It provides a graphical user interface and command-line interface for executing commands with elevated permissions, making it useful for system administrators and power users.
Pros
- Enables running programs with TrustedInstaller privileges, which is higher than standard administrator rights
- Offers both GUI and CLI interfaces for flexibility in usage
- Supports multiple languages and has a customizable user interface
- Open-source project with active development and community support
Cons
- Can be potentially dangerous if misused, as it grants extensive system access
- May trigger antivirus software due to its elevated privileges
- Limited documentation for advanced features and customization
- Requires careful handling to avoid unintended system changes
Getting Started
To use NSudo:
- Download the latest release from the GitHub repository.
- Extract the files to a desired location on your system.
- Run NSudo.exe to launch the graphical interface, or use NSudoLC.exe for command-line operations.
- To run a program with TrustedInstaller privileges via CLI:
NSudoLC.exe -U:T -P:E cmd
This command opens a command prompt with TrustedInstaller privileges. Be cautious when using elevated permissions, as it can affect system stability if used incorrectly.
Competitor Comparisons
Dism++ Multi-language Support & BUG Report
Pros of Dism-Multi-language
- Supports multiple languages, making it accessible to a wider user base
- Provides a graphical user interface for easier interaction
- Offers a broader set of system management tools beyond just privilege elevation
Cons of Dism-Multi-language
- May have a larger footprint and require more system resources
- Could be more complex to use for simple privilege elevation tasks
- Potentially slower startup time due to additional features and GUI
Code Comparison
NSudo:
int wmain(int argc, wchar_t* argv[])
{
return NSudoMain(argc, argv);
}
Dism-Multi-language:
int WINAPI wWinMain(
_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine,
_In_ int nShowCmd)
{
return CDismApp::GetInstance().Run(hInstance, lpCmdLine);
}
The code snippets show the main entry points for both projects. NSudo has a simpler command-line interface, while Dism-Multi-language initializes a more complex application with GUI support.
Windows Driver and XInput Wrapper for Sony DualShock 3/4 Controllers
Pros of ScpToolkit
- Focused on game controller support, specifically for PlayStation controllers
- Provides a user-friendly GUI for configuration and management
- Offers extensive customization options for button mapping and sensitivity
Cons of ScpToolkit
- Limited to specific use case (game controllers), while NSudo is more versatile
- May require more system resources due to its GUI and background services
- Less frequently updated compared to NSudo
Code Comparison
NSudo (C++):
BOOL NSudoCreateProcess(
LPCWSTR lpCommandLine,
DWORD dwCreationFlags,
LPCTSTR lpCurrentDirectory,
LPVOID lpEnvironment,
HANDLE hToken)
{
// Process creation code
}
ScpToolkit (C#):
public static bool Start(string devicePath)
{
using (var device = new HidDevice(devicePath))
{
// Device initialization code
}
}
While NSudo focuses on process creation with elevated privileges, ScpToolkit deals with HID device management for game controllers. The code snippets reflect their different purposes and implementation languages.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
# NSudo - System Administration Toolkit
This is the source code repository of NSudo. If you wonder to visit the NSudo official website, download NSudo or read the NSudo documents etc, please visit https://nsudo.m2team.org.
This readme file will be the developer oriented document because this it is under the source code repository.
2021 Development Roadmap
- Add Current User (Elevated) Mode.
- Implemented in NSudo Shared Library.
- Implemented in NSudo Launcher.
- Use wxWidgets to implement the UI.
- TOML-based environment configuration file.
- Add more APIs to NSudo Shared Library.
- Export PDF directly from the offical website.
- Improve the Gitee mirror experience.
- Translate the readme in the source tree root.
- Synchronizing automatically when commits pushed.
Relevant People
Please read People.md.
Code of Conduct
Please read CODE_OF_CONDUCT.md.
Contributing to NSudo
How to become a contributor
- Direct contributions
- Create pull requests directly.
- Please send e-mails to Mouri_Naruto@Outlook.com if you have any questions.
- Feedback suggestions and bugs.
- We use GitHub issues to track bugs and features.
- For bugs and general issues please file a new issue.
Code contribution guidelines
Prerequisites
- Visual Studio 2017 Version 15.9 or later.
- You also need install ARM64 components (MSVC Toolchain and ATL/MFC) if you want to compile ARM64 version of NSudo.
- Windows 10 Version 1507 SDK or later.
- You also need install ARM64 components when you installing the Windows 10 Version 1703 SDK or later and you want to compile ARM64 version of NSudo.
How to build all targets of NSudo
Run BuildAllTargets.bat
in Source/Native
.
How to modify or debugging NSudo
Open NSudo.sln
in Source/Native
.
Code style and conventions
- C++: C++ Core Guidelines
- C#: Follow the .NET Core team's C# coding style
For all languages respect the .editorconfig file specified in the source tree. Many IDEs natively support this or can with a plugin.
Copying files from other projects
The following rules must be followed for PRs that include files from another project:
- The license of the file is permissive.
- The license of the file is left intact.
- The contribution is correctly attributed in the License file in the repository, as needed.
How to update documents.
Refer to https://github.com/M2Team/NSudo/pull/29.
To build new docs, you'll need to have Node.js and
Yarn installed on your system, and run build.bat
in
Website
.
Docs engine is based on VuePress.
Top Related Projects
Dism++ Multi-language Support & BUG Report
Windows Driver and XInput Wrapper for Sony DualShock 3/4 Controllers
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot