使用哪些API将输出写入命令提示符?

时间:2017-11-10 23:40:21

标签: api reverse-engineering ollydbg

我使用OllyDbg对我的实验室作业进行反向工程。我的教授问了一个问题,要求API负责将输出写入命令提示符。使用的DLLS是ntdll,kernel32,msvcr100

1 个答案:

答案 0 :(得分:0)

实现这一目标的方法不止一种,但着名的两种方法是WriteConsoleWriteFile

来自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将字符写入屏幕缓冲区   处理控制台输出。该函数的确切行为是   由控制台模式决定。数据写入当前数据   光标位置。写入后光标位置会更新   操作