{"id":16783897,"url":"https://github.com/nefarius/indicium-supra","last_synced_at":"2025-04-06T06:12:03.497Z","repository":{"id":141821286,"uuid":"47583783","full_name":"nefarius/Indicium-Supra","owner":"nefarius","description":"DirectX API-hooking framework","archived":false,"fork":false,"pushed_at":"2023-07-27T20:42:06.000Z","size":4497,"stargazers_count":315,"open_issues_count":0,"forks_count":56,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-03-30T05:06:45.946Z","etag":null,"topics":["api-hooking","directx-10","directx-11","directx-9","dll-injection","games","overlay","windows"],"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/nefarius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":"nefarius","patreon":"nefarius","liberapay":"Nefarius","custom":["https://www.buymeacoffee.com/Nefarius","https://paypal.me/NefariusMaximus","https://docs.nefarius.at/Donations/"]}},"created_at":"2015-12-07T22:39:36.000Z","updated_at":"2025-03-25T02:56:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e03fd32-866f-4a55-bf95-7dee46ee754f","html_url":"https://github.com/nefarius/Indicium-Supra","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nefarius%2FIndicium-Supra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nefarius%2FIndicium-Supra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nefarius%2FIndicium-Supra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nefarius%2FIndicium-Supra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nefarius","download_url":"https://codeload.github.com/nefarius/Indicium-Supra/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441057,"owners_count":20939239,"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":["api-hooking","directx-10","directx-11","directx-9","dll-injection","games","overlay","windows"],"created_at":"2024-10-13T07:52:40.942Z","updated_at":"2025-04-06T06:12:03.475Z","avatar_url":"https://github.com/nefarius.png","language":"C++","funding_links":["https://github.com/sponsors/nefarius","https://patreon.com/nefarius","https://liberapay.com/Nefarius","https://www.buymeacoffee.com/Nefarius","https://paypal.me/NefariusMaximus","https://docs.nefarius.at/Donations/"],"categories":[],"sub_categories":[],"readme":"# Indicium-Supra\n\nAPI-Hooking and rendering framework for DirectX-based games.\n\n[![Build status](https://ci.appveyor.com/api/projects/status/rt4ybpwrhn22kegm?svg=true)](https://ci.appveyor.com/project/nefarius/indicium-supra) [![Discord](https://img.shields.io/discord/346756263763378176.svg)](https://discord.nefarius.at) [![Website](https://img.shields.io/website-up-down-green-red/https/docs.nefarius.at.svg?label=docs.nefarius.at)](https://docs.nefarius.at/) [![GitHub followers](https://img.shields.io/github/followers/nefarius.svg?style=social\u0026label=Follow)](https://github.com/nefarius) [![Mastodon Follow](https://img.shields.io/mastodon/follow/109321120351128938?domain=https%3A%2F%2Ffosstodon.org%2F\u0026style=social)](https://fosstodon.org/@Nefarius)\n\n## About\n\n`Indicium-Supra` consists of a self-contained library (DLL) which exposes a minimalistic API for rendering custom content in foreign processes eliminating the need for in-depth knowledge about Direct3D and API-hooking. The most common use-case might be drawing custom overlays on top of your games. The framework takes care about pesky tasks like detecting the DirectX version the game was built for and supports runtime-hooking (no special launcher application required).\n\n## Supported DirectX versions\n\n- DirectX 9.0\n- DirectX 9.0 Extended (Vista+)\n- DirectX 10\n- DirectX 11\n- DirectX 12 (implemented but untested)\n\n## How to build\n\n### Prerequisites\n\n**Samples are currently broken on this branch due to major API redesign!**\n\n- Visual Studio **2019** ([Community Edition](https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community\u0026rel=16) is just fine)\n- [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)\n- [Follow the Vcpkg Quick Start](https://github.com/Microsoft/vcpkg#quick-start) and install the following packages:\n  - `.\\vcpkg install spdlog:x86-windows-static spdlog:x64-windows-static detours:x86-windows-static detours:x64-windows-static`\n  - For the ImGui sample to build you'll also need:\n    - `.\\vcpkg install imgui:x86-windows-static imgui:x64-windows-static`\n\nBuilding should be pretty straight-forward since the dependencies get installed via [Vcpkg](https://github.com/Microsoft/vcpkg). You have multiple choices for getting things done.\n\n### Visual Studio\n\nJust open the solution file `Indicium-Supra.sln` and start the build from there.\n\n### The lazy way\n\nNow if you're really in a hurry you can [grab pre-built binaries from the buildbot](https://buildbot.nefarius.at/builds/Indicium-Supra/master/). Boom, done.\n\n## How to use\n\nInject the resulting host library (e.g. `Indicium-ImGui.dll`) into the target process first using a DLL injection utility of your choice (you can ofc. [use mine as well](https://github.com/nefarius/Injector)). The following example loads the [imgui sample](samples/Indicium-ImGui):\n\n```PowerShell\n.\\Injector -i -n hl2.exe Indicium-ImGui.dll\n```\n\nJust make sure your host library doesn't require any external dependencies not present in the process context or you'll get a `LoadLibrary failed` error.\n\n## Diagnostics\n\nThe core library logs its progress and potential errors to the file `%TEMP%\\Indicium-Supra.log`.\n\n## Demos\n\nThe following screenshots show [imgui](https://github.com/ocornut/imgui) getting rendered in foreign processes using different versions of DirectX.\n\n### DirectX 9\n\nHalf-Life 2, 32-Bit\n\n![Half-Life 2](https://thumbs.gfycat.com/AltruisticElectricIberianmole-size_restricted.gif)\n\n### DirectX 9 Ex\n\nCastlevania: Lords of Shadow, 32-Bit\n\n![Castlevania: Lords of Shadow](https://thumbs.gfycat.com/DeafeningSomeKob-size_restricted.gif)\n\n### DirectX 10\n\nBioshock 2, 32-Bit\n\n![Bioshock2_2017-08-10_14-48-38.png](https://lh3.googleusercontent.com/-oWNHhCbWBLo/WYxWJ0l6qqI/AAAAAAAAAK0/2yTiRcSeH-I-6YUmsGfPimBSti4VobfQgCHMYCw/s0/Bioshock2_2017-08-10_14-48-38.png)\n\n### DirectX 11\n\nRyse: Son of Rome, 64-Bit\n\n![Ryse_2017-08-09_21-48-57.png](https://lh3.googleusercontent.com/-A1Yj4RE07C4/WYtnLFgGg3I/AAAAAAAAAKk/ZMEfZNAQ670XR4vtRtO0Yy3vN2EXwXKygCHMYCw/s0/Ryse_2017-08-09_21-48-57.png)\n\nRoad Redemption, 64-Bit\n\n![RoadRedemptionEarlyAccess_2017-08-14_14-06-21.png](https://lh3.googleusercontent.com/-v2Ao0kCoTvg/WZGSQeniK8I/AAAAAAAAAN0/TXpCVv8pLFoGsuKlwnBRufFuG_ZXaZmRACHMYCw/s0/RoadRedemptionEarlyAccess_2017-08-14_14-06-21.png)\n\n## Sources\n\n- [DX9-Overlay-API](https://github.com/agrippa1994/DX9-Overlay-API)\n- [CREATING A RENDER TARGET IN DIRECTX11](http://www.hlsl.co.uk/blog/2014/11/19/creating-a-render-target-in-directx11)\n- [ion RE Library](https://github.com/scen/ionlib)\n- [C# – SCREEN CAPTURE AND OVERLAYS FOR DIRECT3D 9, 10 AND 11 USING API HOOKS](http://spazzarama.com/2011/03/14/c-screen-capture-and-overlays-for-direct3d-9-10-and-11-using-api-hooks/)\n- [HelloD3D12](https://github.com/GPUOpen-LibrariesAndSDKs/HelloD3D12)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnefarius%2Findicium-supra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnefarius%2Findicium-supra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnefarius%2Findicium-supra/lists"}