알려진 툴을 이용하지 않고 게임 메모리를 검색하는 프로그램을 만드는게 목표임. 걍 공부로
일단, 외부에서 메모리 접근하고 읽고쓰고 저장하고 그러는건 구글에 많아서 다 아는데,
근데 내가 궁금한거는, 메모리 검색하는 툴 잘만들어진거 보면 속도가 엄청 빠른데
이전 값과 현재 값을 비교하기 위해서 이전 값들을 몽땅 복사해두는거냐는거임
프로세스 외부에서 api로 접근하면 혹시 더 느린건가 싶어서
아예 dll injection 해서 프로세스 내부로 들어가서 포인터로 직접 접근해봤는데
값 비교속도는 빨라도 '이전 값'들 복사해두는게 오래걸리는것 같더라고
치트엔진을 예로 들면
처음에 unknown initial value로 해서 첫 검색 하고
이후에 증가/감소로 메모리 변화를 검색해나가는 방식 있잖아
이건 처음 unknown initial value 버튼 눌렀을때 준비되는 속도가 엄청 빠르던데, 그냥 누르자마자 바로 '띵' 하는데
수백메가짜리 프로세스 전체 메모리를 통째로 복사하는게 어떻게 이렇게 빠를수가 있는건지 궁금해
혹시 어떤 다른 방법이 있는건지
프로세서가 사용중인 힙의정보를얻어서 저장하거나 할듯 가상메모리 공간을 다 덤프뜨기는 뭐하니까
생각해보니 전역변수는 데이터섹션에저장되니까 데니터섹션도 덤프떠야할듯?
머 어떤 특별한 방법은 없는건가보네..
혹시나해서 올리디버거로 확인도해봤는대 전역변수는 데이터섹션에올라가는대 용량이얼마안됨 이정도용량 덤프랑 감시는 CPU에게 껌일듯
그러쿠나 고마워
VirtualQuery