2011-01-21 4 views
1

windows.h의 Win32API 호출과 유사한 프로세스 메모리를 쓰고 읽는 함수를 찾고 있지만 표준 C++를 찾을 수없는 것 같아요. 플랫폼 독립적 일 것을 원합니다.메모리 편집 함수

+0

프로세스 메모리? 자신의 바이너리 코드 에서처럼? 왜? –

+0

그는 힙을 의미한다고 생각합니다. –

+0

글쎄, 예를 들어 게임을 해킹하는 데 익숙해졌고 크로스 플랫폼 코드를 작성하려고 할 때 이것이 좋은 프로젝트라고 생각했습니다. 내 계획은 이제 #ifdef _WIN32와 같은 것을 사용하고 각 OS에 대한 함수를 작성하므로 호출 할 때 필요한 것을 사용합니다. 나는 포팅하고 싶지 않다. 하나의 코드로 세 플랫폼 모두에서 컴파일되기를 바란다. – Mike

답변

6

다른 프로세스의 메모리에 액세스하기위한 표준 C++ API는 없습니다. 표준 C++은 '프로세스'의 개념조차 가지고 있지 않습니다. 또한 다른 프로세스의 메모리 인 내용은 다른 플랫폼의 메모리와 매우 유사하므로 다른 OS에 이식하기위한 심 레이어를 추가하는 것이 가장 적은 문제입니다.

0

이러한 종류의 API 호출은 OS 커널에 의존하기 때문에 플랫폼에 독립적 일 수 있으므로 각 유형 (읽기, 쓰기)에 대한 래퍼를 만들고 PP 정의에 따라 내부 API 호출을 변경해야합니다 (_WIN32)

0

C++ 표준은 memcpy(), memset(), memmove() 및 memcmp()를 지원합니다. STL 유틸리티 인 std :: copy()도 있습니다. 이들은 모두 플랫폼에 독립적입니다.

0

Windows에서 어떤 기능을 사용하고 있습니까? 우리는 당신이 무엇을 요구하고 있는지 확신 할 수 없지만, 당신이 성공적으로 무엇을하고 있는지 보여 주면 다른 플랫폼에서 동등한 것을 찾을 수 있도록 도와 줄 것입니다.