使用Easyhook的Windows打印机API挂钩
我正在尝试使用Easyhook库钩住winspool.drv中的WritePrinter函数 注入器使用Easyhook的Windows打印机API挂钩,windows,api,printing,hook,easyhook,Windows,Api,Printing,Hook,Easyhook,我正在尝试使用Easyhook库钩住winspool.drv中的WritePrinter函数 注入器 NTSTATUS nt = RhInjectLibrary( processId, // The process to inject into 0, // ThreadId to wake up upon injection EASYHOOK_INJECT_DEFAULT, NULL, // 32-bit dllToInject,
NTSTATUS nt = RhInjectLibrary(
processId, // The process to inject into
0, // ThreadId to wake up upon injection
EASYHOOK_INJECT_DEFAULT,
NULL, // 32-bit
dllToInject, // hook.dll
NULL, // data to send to injected DLL entry point
0// size of data to send
);
在hook.ddl中,创建以下函数来钩住打印机函数
BOOL MyWritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, LPDWORD pcWritten)
{
}
传递到打印机的数据流存在于pBuf中。但我无法获得这些数据。
如何从pBuf读取数据
WriteInter函数引用:您尝试了什么,失败的原因是什么?pBuf是指向字节数组的指针,其长度为cbBuf@JustinStenning我试过几乎每种类型的铸造,但没有结果。是的,关于pBuf和cbBuf,你是对的。您能告诉我如何从pBuf获取数据并将其转换为字符串吗?
//Some Code
return WritePrinter(hPrinter, pBuf, cbBuf, pcWritten);//