lunahook
v1.0.0
Published
use lunaHook to create a npm package
Readme
node-lunaHook
👀 lunaHook for nodejs
LunaTextractor is an open-source x86/x64 text hooker for Windows support almost visual novel games
👓 Requirements
✅ LunaHook ver 3.2.1
✅ Need files include
LunaHost64.dll
LunaHost32.dll
LunaHook64.dll
LunaHook32.dll
LunaHostCLI64.exe / LunaHostCLI32.exe📜 Example
import LunaHookTextractor from "./yuji";
//process pid
const PID = 16064
let textractor = new LunaHookTextractor('../unaTextractor/LunaHostCLI64.exe');
textractor.on('output', output => {
console.log(`[${output.handle}]: ${output.text}`)
})
textractor.start()
textractor.attach(PID)✏️ TextOutputObject
{
handle: number; // hook index
pid: number; // process ID
addr: number; // hook address
ctx: number; // hook context
ctx2: number; // hook context 2
name: string; // hook name
code: string; // hook code
text: string; // output text
}🔑 API
LunaHookTextractor(path: string)
The constructor.
Params
Pathto LunaHostCLI64/32.exe
start(): void
Start LunaHook process.
attach(pid: number): void
Attach text hooker to a specific process.
Params
pid- Process ID
Throws
- RangeError if pid is invalid
- ReferenceError if Textractor process is not started
detach(pid: number): void
Detach text hooker to a specific process.
Params
pid- Process IDThrows
- ReferenceError if the process has not been attached
hook(pid: number, code: string): void
Inject a hook into a specific process.
Supports /H hook code and /R read code.
Params
pid- Process IDThrows
- ReferenceError if LunaHook process is not started
- ReferenceError if the process has not been attached
- SyntaxError if code is invalid
on(event: "output", listener: (output: TextOutputObject) => void): this
Specify callback function when text outputs.
Params
event- Must be "output"
listener- The callback function
exec(command: string): void
Execute a command manually.
Params
command- The command to executeThrows
- ReferenceError if LunaHook process is not started
stop(): void
Stop LunaHook process.
🚪 License
MIT
