30 lines
832 B
Plaintext
30 lines
832 B
Plaintext
|
|
/*
|
||
|
|
文件名:Hacker_Class.nut
|
||
|
|
路径:Base/_Tool/Hacker_Class.nut
|
||
|
|
创建日期:2024-09-24 06:25
|
||
|
|
文件用途:
|
||
|
|
*/
|
||
|
|
class _Rindro_Hacker {
|
||
|
|
HookTable = null;
|
||
|
|
|
||
|
|
constructor() {
|
||
|
|
HookTable = {};
|
||
|
|
}
|
||
|
|
|
||
|
|
function UnLoadHook(AddressStr) {
|
||
|
|
Sq_DeHookFunc(HookTable[AddressStr]);
|
||
|
|
}
|
||
|
|
|
||
|
|
function LoadHook(AddressStr, ArgumentArr, EnterFunc, LeaveFunc) {
|
||
|
|
//如果已经HOOK过 需要先卸载原来的HOOK
|
||
|
|
if (HookTable.rawin(AddressStr)) {
|
||
|
|
UnLoadHook(AddressStr);
|
||
|
|
print("地址: " + AddressStr + " 已经装载了Hook,本次操作将会卸载之前的Hook在执行。")
|
||
|
|
}
|
||
|
|
|
||
|
|
local Controler = Sq_HookFunc(AddressStr, ArgumentArr, EnterFunc, LeaveFunc);
|
||
|
|
HookTable.rawset(AddressStr, Controler);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
//初始化Hacker
|
||
|
|
Rindro_Haker <- _Rindro_Hacker();
|