BOOL WriteProcessMemory(HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesWritten );
WriteProcessMemory 함수는 특정 프로세스의 메모리영역에 데이터를 쓰기한다.
hProcess
메모리를 수정할 프로세스의 핸들이다.
이 핸들은 반드시 PROCESS_VM_WRITE 와 PROCESS_VM_OPERATION 권한을 가져야한다.
lpBaseAddress
데이터 쓰기를 시작할 프로세스의 메모리주소이다.
데이터 쓰기를 시작하기전 시스템은 지정된 크기의 주소와 메모리의 모든 쓰기 접근이 가능한지
확인하고, 접근할 수 없는경우 함수는 실패한다.
lpBuffer
프로세스에 쓰기할 데이터가 들어있는 버퍼의 포인터를 의미한다.
nSize
프로세스에 쓰기할 데이터의 바이트 크기를 의미한다.
lpNumberOfBytesWritten
프로세스에 전송된 바이트 수를 수신하는 변수에 대한 포인터를 의미한다.
이 매개변수는 옵션으로, NULL 을 가지게 되면 이 매개변수는 무시된다.
WriteProcessMemory 함수가 정상적으로 실행되면 0이 아닌 값을 출력한다.
함수의 실행이 실패할 경우 0 을 반환하며 실패에 대한 자세한 정보는 GetLastError 함수를 통해 알 수 있다.
요청된 쓰기가 접근할 수 없는 프로세스 영역과 겹치는 경우 함수의 실행은 실패된다.
Example
WriteProcessMemory(hProcess, pBuf, (LPVOID)szData, dwBufSize, NULL);
'프로그래밍 > WinAPI' 카테고리의 다른 글
GetProcAddress 함수 (0) | 2020.09.05 |
---|---|
GetModuleHandleW 함수 (0) | 2020.09.05 |
VirtualAllocEx 함수 (1) | 2020.09.05 |
OpenProcess 함수 (0) | 2020.09.05 |
STATSTG Structure (1) | 2020.07.25 |
BOOL WriteProcessMemory(HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesWritten );
WriteProcessMemory 함수는 특정 프로세스의 메모리영역에 데이터를 쓰기한다.
hProcess
메모리를 수정할 프로세스의 핸들이다.
이 핸들은 반드시 PROCESS_VM_WRITE 와 PROCESS_VM_OPERATION 권한을 가져야한다.
lpBaseAddress
데이터 쓰기를 시작할 프로세스의 메모리주소이다.
데이터 쓰기를 시작하기전 시스템은 지정된 크기의 주소와 메모리의 모든 쓰기 접근이 가능한지
확인하고, 접근할 수 없는경우 함수는 실패한다.
lpBuffer
프로세스에 쓰기할 데이터가 들어있는 버퍼의 포인터를 의미한다.
nSize
프로세스에 쓰기할 데이터의 바이트 크기를 의미한다.
lpNumberOfBytesWritten
프로세스에 전송된 바이트 수를 수신하는 변수에 대한 포인터를 의미한다.
이 매개변수는 옵션으로, NULL 을 가지게 되면 이 매개변수는 무시된다.
WriteProcessMemory 함수가 정상적으로 실행되면 0이 아닌 값을 출력한다.
함수의 실행이 실패할 경우 0 을 반환하며 실패에 대한 자세한 정보는 GetLastError 함수를 통해 알 수 있다.
요청된 쓰기가 접근할 수 없는 프로세스 영역과 겹치는 경우 함수의 실행은 실패된다.
Example
WriteProcessMemory(hProcess, pBuf, (LPVOID)szData, dwBufSize, NULL);
'프로그래밍 > WinAPI' 카테고리의 다른 글
GetProcAddress 함수 (0) | 2020.09.05 |
---|---|
GetModuleHandleW 함수 (0) | 2020.09.05 |
VirtualAllocEx 함수 (1) | 2020.09.05 |
OpenProcess 함수 (0) | 2020.09.05 |
STATSTG Structure (1) | 2020.07.25 |