2009-05-11 2 views
10

program님께 서 다른 프로세스 메모리에 어떻게 액세스합니까? 다른 프로세스의 주소 공간에 어떻게 기록 할 수 있습니까? segfault 또는 무엇인가해야 했습니까?Cheat O'Matic은 어떻게 작동합니까?

+0

작동하지 않을 수 있습니다. 모든 검색 결과가 비어 있습니다. –

+0

일부 알 수없는 이유로 일부 프로그램에서 작동하지 않습니다. Windows 계산기를 사용해보십시오 ... –

답변

15

시스템 권한 레벨을 가진 프로그램은 물리적 주소를 자체 가상 주소에 매핑 할 수 있습니다.

Cheat O'Matic (및 poke)은 스캔하려는 프로그램의 실제 주소를 자체 가상 공간에 매핑합니다.

이 작업이 완료되면 입력 한 대상 값에 대한 모든 바이트를 검색합니다. 사용자가 주소를 알려진 값으로 변경하도록 요청하여 올바른 메모리 주소를 분리하고 변경 사항을 찾기 위해 기본적으로 이전 메모리와 새 메모리를 비교합니다.

+8

윈도우에서 VirtualAllocEx 및 VirtualQueryEx 함수를 사용하면 다른 프로세스의 메모리를 읽고 쓸 수 있습니다. – morechilli

+0

@morechilli : 답변에 넣으면 받아 들일 것입니다. –

1

이렇게하는 한 가지 방법은 스파이를 보내려는 주소 프로세스에 DLL (Google for 'Dll injection')을 삽입하는 것입니다. 그 DLL은 프로세스 내부에 있으며 프로세스의 메모리로 작업을 수행 할 수 있습니다. 스파이 프로세스는 프로세스 간 통신 방법 (파이프, 소켓, 기타)을 사용하여 다른 프로세스에 주입 한 DLL과 대화 할 수 있습니다.

DLL을 주입하면 관리자 권한이 필요합니다 (예 : 시스템 레지스트리에서 관련 항목을 설정).