我正在尝试使用 Easyhook RhInstallLibrary 挂钩 winspool.drv 中存在的 WritePrinter 函数。
注射器.cpp
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)
{
//Some Code
return WritePrinter(hPrinter, pBuf, cbBuf, pcWritten);//
}
传递给打印机的数据流存在于 pBuf 中。但我无法获得该数据。 如何从 pBuf 读取数据
WritePrinter 函数参考:https ://msdn.microsoft.com/en-us/library/windows/desktop/dd145226(v=vs.85).aspx