{"id":15138836,"url":"https://github.com/ar-kitty/elementssdk","last_synced_at":"2025-09-29T08:31:26.783Z","repository":{"id":236739749,"uuid":"793062115","full_name":"ar-Kitty/ElementsSDK","owner":"ar-Kitty","description":"ElementsSDK is a toolkit for integrating Elementscheat into your existing C++ client projects. It includes all necessary resources and a brief tutorial on how to use it. Integrate it at the start of your project and use it with the Elements Injector without compromising your Windows system!","archived":true,"fork":false,"pushed_at":"2024-04-28T10:31:08.000Z","size":11,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-27T08:01:03.657Z","etag":null,"topics":["cheat","mod","sdk","vrchat","vrchat-client","vrchat-mod"],"latest_commit_sha":null,"homepage":"https://elementscheats.cc","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/ar-Kitty.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-04-28T10:16:10.000Z","updated_at":"2024-09-02T07:18:04.000Z","dependencies_parsed_at":"2024-04-28T11:26:05.218Z","dependency_job_id":"aed2d450-cc83-4323-9735-ecc929a57e64","html_url":"https://github.com/ar-Kitty/ElementsSDK","commit_stats":null,"previous_names":["ar-kitty/elementssdk"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-Kitty%2FElementsSDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-Kitty%2FElementsSDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-Kitty%2FElementsSDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar-Kitty%2FElementsSDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ar-Kitty","download_url":"https://codeload.github.com/ar-Kitty/ElementsSDK/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234604463,"owners_count":18859164,"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":["cheat","mod","sdk","vrchat","vrchat-client","vrchat-mod"],"created_at":"2024-09-26T08:00:20.158Z","updated_at":"2025-09-29T08:31:21.494Z","avatar_url":"https://github.com/ar-Kitty.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ElementsSDK\n\nElementsSDK is a toolkit for integrating Elementscheat into your existing C++ client projects. It includes all necessary resources and a brief tutorial on how to use it. Integrate it at the start of your project and use it with the Elements Injector without compromising your Windows system!\n\n## How to Use\n\nDownload and include all necessary files into your project. \nFollow the instructions in this link for setup guidance: [Basemod](https://github.com/ar-Kitty/EC-VRTools-Basemod/blob/main/ElementsCheatsBase/dllmain.cpp)\n\n## Code Example\n\n### dllmain.cpp:\nInclude the SDK and additional setup in your `dllmain.cpp` as shown below:\n\n```cpp\n// Include your own headers first\n#include \"path/to/sdk.h\"\n\n// Add this after including the SDK\nHWND VRCWindow = nullptr;\nstatic uintptr_t __cdecl I_beginthreadex(void* _Security, unsigned _StackSize, _beginthreadex_proc_type _StartAddress, void* _ArgList, unsigned _InitFlag, unsigned* _ThrdAddr) {\n    return iat(_beginthreadex).get()(_Security, _StackSize, _StartAddress, _ArgList, _InitFlag, _ThrdAddr);\n}\n\n#define IATHookThread(mainThread, dllhandle) I_beginthreadex(0, 0, (_beginthreadex_proc_type)mainThread, dllhandle, 0, 0)\n```\n\n\n### Before DLL Entry Point:\nUse the following code to ensure VRChat is running before injecting your modifications:\n\n```cpp\nvoid WaitForVRChat() {\n    do\n    {\n        VRCWindow = FindWindowW(nullptr, L\"VRChat\");\n        std::this_thread::sleep_for(std::chrono::milliseconds(1000));\n    } while (!VRCWindow);\n\n    // Place your initialization logic here (e.g., hooks, mods)\n}\n```\n\n### DllMain or DLL Entry Point:\nConfigure the DLL entry point as follows:\n\n```cpp\nBOOL APIENTRY DllMain(HMODULE DllHandle, DWORD Reason, LPVOID lpReserved)\n{\n    if (Reason == DLL_PROCESS_ATTACH) { // Process Attach\n        ElementsSDK elementsSDK; // Use the Elements SDK\n        if (elementsSDK.RunMod(Reason)) {\n            // Start hooks and other modifications\n            DisableThreadLibraryCalls(DllHandle);\n\n            // Launch a new thread for VRChat initialization\n            IATHookThread(WaitForVRChat, DllHandle);\n        } else {\n            // Cleanup if initialization fails\n            return TRUE;\n        }\n    }\n    return TRUE;\n}\n```\n\nThis configuration will help ensure your project integrates smoothly with VRChat using the ElementsVRTools Injector.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Far-kitty%2Felementssdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Far-kitty%2Felementssdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Far-kitty%2Felementssdk/lists"}