簡體   English   中英

c++ 將dll注入cmd.exe監控命令

[英]c++ Inject dll to cmd.exe monitoring commands

我嘗試向 cmd.exe 注入一個 dll,它將掛鈎輸入命令並將它們保存到文件中。 我設法進行了注入並使用 WH_KEYBOARD 上的鈎子獲取了一些我想要的信息。

如何通過其他方式掛鈎 cmd.exe 進程的輸入而不是掛鈎鍵盤事件?

您可以查看cmd.exe進行的 WinAPI 調用,並找到一個將命令字符串作為參數並將其掛鈎的調用,例如使用Microsoft Detours 您也可以掛鈎cmd.exe的內部功能,但這不太便攜。

我將 Windows 系統(Windows 10 v1511 x86_64)上的cmd.exe加載到x64dbg 中,並且有兩次調用ReadConsoleW 第一個:

Address=00007FF6331A29CC
Disassembly=call qword ptr ds:[<&ReadConsoleW>]
Destination=cmd.&ReadConsoleW

在處理通過控制台輸入的每個命令后調用。

根據x64 快速調用約定,它的第二個參數(緩沖區)由rdx指向。 雖然它在形式上是一個輸出參數,但在調用該函數之前,它指向輸入命令的 CRLF 終止副本。

您可以掛鈎該調用或從那里回溯並找到更合適的掛鈎位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM