0
我正在使用OllyDbg爲我的實驗任務逆向工程一個可執行文件。我的教授問了一個問題,要求提供負責將輸出寫入命令提示符的API。使用的DLLS是ntdll,kernel32,msvcr100使用哪些API將輸出寫入命令提示符?
我正在使用OllyDbg爲我的實驗任務逆向工程一個可執行文件。我的教授問了一個問題,要求提供負責將輸出寫入命令提示符的API。使用的DLLS是ntdll,kernel32,msvcr100使用哪些API將輸出寫入命令提示符?
實現此目的的方法有很多種,但着名的兩種方法是WriteConsole和WriteFile。
從MSDN文檔:
WriteConsole
寫入一個字符串在 當前光標位置開始一個控制檯屏幕緩衝器。
BOOL WINAPI WriteConsole( _In_ HANDLE hConsoleOutput, _In_ const VOID *lpBuffer, _In_ DWORD nNumberOfCharsToWrite, _Out_ LPDWORD lpNumberOfCharsWritten, _Reserved_ LPVOID lpReserved );
WriteFile的
將數據寫入指定的文件或輸入/輸出(I/O)設備。這個功能是爲同步和異步操作而設計的。
BOOL WINAPI WriteFile( _In_ HANDLE hFile, _In_ LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped );
...
...
字符可以被寫入到使用WriteFile的一個 手柄控制檯輸出屏幕緩衝區。該功能的確切行爲是由控制檯模式確定的 。數據寫入當前的光標位置 。在寫入 操作後更新光標位置。