RtlMoveMemory
RtlMoveMemory는 원하는 데이터를 목적지 메모리에 복사하는 함수입니다.
VOID RtlMoveMemory(
_Out_ VOID UNALIGNED *Destination,
_In_ const VOID UNALIGNED *Source,
_In_ SIZE_T Length
);인자
설명
Destination
목적지 메모리 주소
Source
데이터
Length
데이터 크기
Example
#include <windows.h>
#include <iostream>
#include <cstring> // memcmp
int main() {
// 1. 소스 데이터
unsigned char source[] = { 0x41, 0x42, 0x43, 0x44 }; // 'A', 'B', 'C', 'D'
SIZE_T size = sizeof(source);
// 2. 목적지 버퍼 (초기화)
unsigned char destination[sizeof(source)] = { 0 };
// 3. 메모리 복사
RtlMoveMemory(destination, source, size);
// 4. 복사 결과 검증
if (memcmp(source, destination, size)) std::cout << "[-] Memory copy failed" << std::endl;
// 5. 실제 값 출력
std::cout << "Source: ";
for (unsigned char c : source)
printf("%02X ", c);
std::cout << "\n";
std::cout << "Destination: ";
for (unsigned char c : destination)
printf("%02X ", c);
std::cout << "\n";
return 0;
}
References
Last updated