{"id":27884719,"url":"https://github.com/provrb/libprocman","last_synced_at":"2025-07-13T01:03:53.933Z","repository":{"id":288005860,"uuid":"966479872","full_name":"provrb/libprocman","owner":"provrb","description":"A Windows library for doing things you probably shouldn’t be doing with processes, tokens, and system calls.","archived":false,"fork":false,"pushed_at":"2025-04-17T19:50:35.000Z","size":161,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-05T06:46:22.596Z","etag":null,"topics":["good-first-issue","help-wanted","low-level","native-api","ntdll","privilege-escalation","process-management","reverse-engineering","security-research","system-calls","token-manipulation","winapi","windows-internals","windows-security"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/provrb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-15T01:45:59.000Z","updated_at":"2025-04-17T19:50:39.000Z","dependencies_parsed_at":"2025-04-15T04:35:44.583Z","dependency_job_id":"3254df0a-c357-4497-ae39-9886455d0b97","html_url":"https://github.com/provrb/libprocman","commit_stats":null,"previous_names":["provrb/libprocman"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/provrb/libprocman","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/provrb%2Flibprocman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/provrb%2Flibprocman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/provrb%2Flibprocman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/provrb%2Flibprocman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/provrb","download_url":"https://codeload.github.com/provrb/libprocman/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/provrb%2Flibprocman/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265076593,"owners_count":23707534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["good-first-issue","help-wanted","low-level","native-api","ntdll","privilege-escalation","process-management","reverse-engineering","security-research","system-calls","token-manipulation","winapi","windows-internals","windows-security"],"created_at":"2025-05-05T06:39:07.015Z","updated_at":"2025-07-13T01:03:53.918Z","avatar_url":"https://github.com/provrb.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e \u003ch1\u003elibprocman\u003c/h1\u003e \u003cp\u003e\u003cem\u003eYour toolkit for Windows process, token manipulation, and system-level operations.\u003c/em\u003e\u003c/p\u003e \u003cimg alt=\"last-commit\" src=\"https://img.shields.io/github/last-commit/provrb/libprocman?style=flat\u0026logo=git\u0026logoColor=white\u0026color=0080ff\"\u003e \u003cimg alt=\"repo-top-language\" src=\"https://img.shields.io/github/languages/top/provrb/libprocman?style=flat\u0026color=0080ff\"\u003e \u003cimg alt=\"repo-language-count\" src=\"https://img.shields.io/github/languages/count/provrb/libprocman?style=flat\u0026color=0080ff\"\u003e \u003c/div\u003e\n\nA C++ library that grants access to advanced Windows internals, process management, and security token manipulation. Perfect for security research, automation, and low-level Windows programming.\n\n## Table of Contents\n- [Features](#features)\n- [Building](#building)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n- [Legal Notice](#legal-notice)\n- [Contact](#contact)\n\n## Features\n- ⚙️ **Process Management**: Retrieve process IDs, manage processes, and impersonate different user contexts.\n- 🔐 **Token Manipulation**: Duplicate and elevate process tokens, impersonate SYSTEM or TrustedInstaller.\n- ⚡️ **Native API Access**: Interact directly with low-level NT system calls.\n- 💻 **Virtualization Detection**: Check if the code is running in a virtual machine.\n- 💥 **Trigger BSOD**: Cause a Blue Screen of Death\n- 🔑 **Windows Registry Access**: Create and modify registry keys.\n- 🔒 **Security Contexts**: Query and change process security contexts.\n- 🔄 **Dynamic Function Calls**: Dynamically call functions from loaded DLLs.\n- 🖥️ **Start Windows Services**: Start and manage Windows services programmatically.\n- 🗂️ **Add Processes to Startup**: Automatically add processes to system startup.\n\n## Building\nTo build the tests executable:\n1. Open your terminal and change to the project directory\n2. Run the following command in the terminal.  **Note: Your g++ installation must support C++20!**\n    - `cmake -B build -G Ninja`\n3. Build the executable with the following command:\n    - `cmake --build build`\n4. Run the tests using:\n    - `./build/libprocman.exe`\n\nAny time you'd like to refactor or implement a new feature, you want to make sure your new features pass all tests.\n\n## Installation\n1. Go to the repositorys releases [page](https://github.com/provrb/libprocman/releases)\n2. Choose your version; preferbly the latest release.\n\nDepending on your use case, you can choose to pick from different file formats: \n\n1. **.CPP and .HPP file**: simply drag the files into your include directories and include the .hpp file\n2. **.lib or .dll**: make sure to link the file to expose the functions.\n\n## Usage\n1. Include the procman.hpp and procman.cpp files in your project.\n2. Create an instance of the ProcessManager class\n3. Use the features provided by the class. Feel free to add your own functions!\n\n## Contributing\nContributions are welcome! View the [contributing guidlines here!](./CONTRIBUTING.md)\n## License\nThis project is licensed under the MIT License. See the [LICENSE](./LICENSE.md) file for details.\n\n## Legal Notice\nThis software is intended for educational purposes only. By using this library, you acknowledge that you fully understand and accept the risks associated with manipulating system processes, tokens, and security contexts. The author and contributors assume no responsibility for any damage, loss of data, or system instability that may result from the use of this library. Use at your own risk. Unauthorized use or misuse of this library for malicious purposes may violate local laws and regulations.\n\n## Contact\nFor inquiries or feature requests, open an issue on GitHub.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprovrb%2Flibprocman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprovrb%2Flibprocman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprovrb%2Flibprocman/lists"}