我使用OllyDbg对我的实验室作业进行反向工程。我的教授问了一个问题,要求API负责将输出写入命令提示符。使用的DLLS是ntdll,kernel32,msvcr100
答案 0 :(得分:0)
实现这一目标的方法不止一种,但着名的两种方法是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)设备。这个 function适用于同步和异步操作。
BOOL WINAPI WriteFile( _In_ HANDLE hFile, _In_ LPCVOID lpBuffer, _In_ DWORD nNumberOfBytesToWrite, _Out_opt_ LPDWORD lpNumberOfBytesWritten, _Inout_opt_ LPOVERLAPPED lpOverlapped );
...
...
可以使用WriteFile将字符写入屏幕缓冲区 处理控制台输出。该函数的确切行为是 由控制台模式决定。数据写入当前数据 光标位置。写入后光标位置会更新 操作