{"id":17502648,"url":"https://github.com/xan105/node-remote-thread","last_synced_at":"2026-02-10T02:34:12.135Z","repository":{"id":258241038,"uuid":"874532318","full_name":"xan105/node-remote-thread","owner":"xan105","description":"NAPI Native addon for Windows DLL injection with support for Wow64 and Unicode path","archived":false,"fork":false,"pushed_at":"2024-11-17T12:46:27.000Z","size":245,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T22:51:12.251Z","etag":null,"topics":["createremotethread","dll-injection","kernel32","loadlibraryw","napi","nodejs","unicode","windows","wow64"],"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/xan105.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,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"xan105","custom":"https://www.paypal.me/xan105","patreon":"xan105"}},"created_at":"2024-10-18T02:10:51.000Z","updated_at":"2024-12-28T03:28:31.000Z","dependencies_parsed_at":"2024-11-08T06:36:21.078Z","dependency_job_id":null,"html_url":"https://github.com/xan105/node-remote-thread","commit_stats":{"total_commits":6,"total_committers":2,"mean_commits":3.0,"dds":"0.16666666666666663","last_synced_commit":"21eb975b6ebf4a89f88eae1b4cc1967efbe5eeed"},"previous_names":["xan105/node-remote-thread"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-remote-thread","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-remote-thread/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-remote-thread/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-remote-thread/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xan105","download_url":"https://codeload.github.com/xan105/node-remote-thread/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248326546,"owners_count":21085114,"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":["createremotethread","dll-injection","kernel32","loadlibraryw","napi","nodejs","unicode","windows","wow64"],"created_at":"2024-10-19T21:15:10.684Z","updated_at":"2026-02-10T02:34:12.107Z","avatar_url":"https://github.com/xan105.png","language":"C++","readme":"About\n=====\n\nNAPI Native addon for Windows DLL injection with support for Wow64 and Unicode path.\n\nThis is a simple injector using the classic `createRemoteThread()` + `LoadLibrary()` from `Kernel32` combo.\n\n- x64 injector\n  + can inject x64 DLL into x64 processes.\n  + can inject x86 DLL into x86 processes (Wow64).\n- x86 injector \n  + can inject x86 DLL into x86 processes.\n- ARM64 injector (Untested)\n  + *should* inject ARM64 DLL into ARM64 processes.\n\n📦 Scoped `@xan105` packages are for my own personal use but feel free to use them.\n\nExample\n=======\n\n```js\nimport { spawn } from \"node:child_process\";\nimport { dirname } from \"node:path\";\nimport { createRemoteThread } from \"@xan105/remote-thread\";\n\nconst EXECUTABLE = \"G:\\\\foo\\\\bar.exe\";\nconst ADDON = \"G:\\\\foo\\\\人名.dll\";\n\nconst binary = spawn(EXECUTABLE, [], {\n  cwd: dirname(EXECUTABLE),\n  stdio:[ \"ignore\", \"ignore\", \"ignore\" ], \n  detached: true\n});\n\nbinary.once(\"error\", (err) =\u003e {\n  console.error(err);\n});\n\nbinary.once(\"spawn\", () =\u003e {\n  binary.unref();\n  //DLL Injection\n  createRemoteThread(binary.pid, ADDON);\n});\n```\n\nInstallation\n============\n\n```\nnpm install @xan105/remote-thread\n```\n\n🚀 x86, x64 and ARM64 prebuilt binary provided.\n\nForce compiling:\n```\nnpm install @xan105/remote-thread --build-from-source\n```\n\nYou will need C/C++ build tools and Python 3.x (node-gyp) to build this module.\u003cbr /\u003e\n\n\u003e [!IMPORTANT]  \n\u003e This package doesn't have any installation restrictions in its package.json file to facilitate multi-platform development; however, it is designed to work only on Windows with x86/x64 architecture. ARM64 is untested.\n\nAPI\n===\n\n⚠️ This module is only available as an ECMAScript module (ESM).\n\n## Named export\n\n#### `createRemoteThread(pid: string, filePath: string): void`\n\nInjects the specified DLL located at _filePath_ into the process identified by the given _pid_.\n\n❌ This function will throw if you are not running on Windows x86/x64.\u003cbr /\u003e\n❌ This function will throw on unexpected error.","funding_links":["https://github.com/sponsors/xan105","https://www.paypal.me/xan105","https://patreon.com/xan105"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxan105%2Fnode-remote-thread","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxan105%2Fnode-remote-thread","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxan105%2Fnode-remote-thread/lists"}