tDasm
用什么函数有关系吗?不能劫持还有很多其它办法。
@tDasm 我想先重写那几个函数或过程,试下,
function HidD_FreePreparsedData(PreparsedData :DWORD):BOOLEAN;stdcall;
begin
result:=true;
end;
function HidD_SetFeature(HidDeviceObject,ReportBuffer,ReportBufferLength :dword):BOOLEAN;stdcall;
BEGIN
Result:=True;
end;
自己写了两个函数替换原来的,也可以运行,
只剩下下面5个函数,或过程了,这几个只能跟踪调试了,但我搞不定,我想如果是函数,直接给它返回值,有大舒佬帮忙看下吗
procedure HidD_FlushQueue;
asm
jmp POldHidD_FlushQueue
end;
//function HidD_GetAttributes(HidDeviceObject:DWORD; Attributes :dword):BOOLEAN;stdcall;
procedure HidD_GetAttributes; //这个替换不成功
asm
jmp POldHidD_GetAttributes
end;
//procedure HidD_GetHidGuid(HidGuid:dword ) stdcall;
procedure HidD_GetHidGuid;
asm
jmp POldHidD_GetHidGuid
end;
//function HidP_GetCaps(PreparsedData:dword; Capabilities:dword):dword;stdcall;
procedure HidP_GetCaps;
asm
jmp POldHidP_GetCaps
end;
// function HidD_GetPreparsedData(HidDeviceObject:DWORD; PreparsedData :dword):BOOLEAN;stdcall;
procedure HidD_GetPreparsedData;//这个替换不成功
asm
jmp POldHidD_GetPreparsedData
end;