{"id":24374659,"url":"https://github.com/ezforever/hueshiftcore","last_synced_at":"2026-04-19T16:31:26.809Z","repository":{"id":271428414,"uuid":"910131033","full_name":"EZForever/HueShiftCore","owner":"EZForever","description":"Visual Studio framework for rapid development of hook/hijack DLLs","archived":false,"fork":false,"pushed_at":"2025-01-07T17:02:32.000Z","size":38,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-19T05:41:25.720Z","etag":null,"topics":["api-hook","api-hooking","c-plus-plus","dll","dll-hijacking","dll-injection","visual-studio","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/EZForever.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-30T15:13:36.000Z","updated_at":"2025-01-07T17:02:36.000Z","dependencies_parsed_at":"2025-01-07T18:18:59.438Z","dependency_job_id":"c6a5d649-c0c3-42ae-b42d-f04c75214d7b","html_url":"https://github.com/EZForever/HueShiftCore","commit_stats":null,"previous_names":["ezforever/hueshiftcore"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EZForever%2FHueShiftCore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EZForever%2FHueShiftCore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EZForever%2FHueShiftCore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EZForever%2FHueShiftCore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EZForever","download_url":"https://codeload.github.com/EZForever/HueShiftCore/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243213851,"owners_count":20254879,"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-hook","api-hooking","c-plus-plus","dll","dll-hijacking","dll-injection","visual-studio","windows"],"created_at":"2025-01-19T05:41:00.885Z","updated_at":"2025-12-25T17:55:29.121Z","avatar_url":"https://github.com/EZForever.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HueShiftCore\n\n*Visual Studio framework for rapid development of hook/hijack DLLs*\n\n\u003e [!NOTE]\n\u003e This repository is from one of my personal hobby projects; since the only expected user is *myself*, expect PoC / alpha-quality code, an extreme lack of documentation, and no further support or maintenance are guaranteed whatsoever.\n\u003e \n\u003e In short, if you wish to use the code here for anything good, think twice.\n\nThis project originates from a private project called \"HueShift\" back in 2020, which involves injecting a DLL into some program to hook many APIs it uses. It's a relatively simple matter, just import [Detours](https://github.com/microsoft/Detours), write hook routines with boilerplate code and call it a day; but things gets boring real fast when I realized that the same process and code needs to be repeated for every project that involves API hooks. And don't get me started on writing DLL hijack stub routines; I know you could generate them with some tool, but the mere idea of having the same function prototype repeated several times in one piece of code just sounds error-prone and tedious for me. So that's how HueShiftCore is born, and why I kept using it to this day.\n\nAlthough called a \"framework\" in repository description, this project is nothing more than just a bunch of boilerplate code files with a convenient file structure and macros designed to reduce as much clutter as possible.\n\n- No more `DllMain()` and boilerplate code for hooking and unhooking routines, all of that came pre-fabbed; just reference them in your project, write hook routines, and you're good to go.\n- No more copying function prototypes all over the place; only one is needed (and that's where you define your hook routine), and all that original routine pointer shenanigans are all already been taken care of.\n- No more manually copy-pasing (or even worse, *writing*) tons of stub code in your DLL project; [have the compiler and linker do it for you](Examples/DllHijackExample).\n- If all you want is just hook some Windows APIs in a single module, Detours dependency can be dropped with the [IAT-modifying alternate hook implementation](Examples/IatExample).\n- There is also a [pre-made DLL injector](Examples/InjectorExample) available, in case of you need to ship the hook DLL with some program; a couple of `#define`s are all you need to build it.\n\nYou will need Visual Studio with C++ capability to use this project. Check the projects in `Examples` directory for ideas about how this project works, and how to create your own hook DLLs with this framework.\n\nThis project utilizes Detours (as mentioned above) and includes it as a git submodule. In order to build anything, you would need to obtain it first by either use `git clone --recursive ...` while cloning this repo, or run `git submodule update --init --recursive` afterwards.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezforever%2Fhueshiftcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fezforever%2Fhueshiftcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezforever%2Fhueshiftcore/lists"}