2014-05-25 4 views
0

ReadFile 함수를 통해 읽은 텍스트를 어떻게 바꿀 수 있습니까? ReadFile 함수 호출을 후크하기 위해 우회를 사용하고 있습니다. 그것은 괜찮아요 (나는 디버그 메시지 상자 때문에 그렇게 생각합니다),하지만 파일에서 읽은 텍스트를 변경할 수 없습니다.ReadFile 함수를 통해 읽은 텍스트를 어떻게 바꿀 수 있습니까?

static BOOL(WINAPI * true_read_file)(
    HANDLE hFile 
    , LPVOID lpBuffer 
    , DWORD nNumberOfBytesToRead 
    , LPDWORD lpNumberOfBytesRead 
    , LPOVERLAPPED lpOverlapped) = ReadFile; 

BOOL WINAPI my_read_file(
    HANDLE hFile 
    , LPVOID lpBuffer 
    , DWORD nNumberOfBytesToRead 
    , LPDWORD lpNumberOfBytesRead 
    , LPOVERLAPPED lpOverlapped) 
{ 
    MessageBoxA(NULL, "my_read_file", "Some caption", MB_OK); 
    std::strcpy((char*)lpBuffer, "str"); // It doesn't work 
    return TRUE; 
} 

내가 뭘 잘못하고 있니? 어떻게 해결할 수 있습니까?

미리 감사드립니다.

답변

0

오류 1 : nNumberOfBytesToRead를 확인해야합니다. 1 일 수 있으므로 버퍼 오버런이 발생합니다.

오류 2 : lpNumberOfBytesRead를 채우지 못했습니다.

관련 문제