0

我正在尝试使用 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

4

0 回答 0