https://imoracle.tistory.com/51
[Game] 지뢰찾기 월핵 제작 - 2 -
이어서이제 메모리를 읽어와서, 2차원 배열에 값을 넣어주어야 합니다. 프로그램을 열어줍니다. 실시간으로 볼 수 있게 띄워주겠습니다.전 포스팅에서 봤다시피 0x20 은 32입니다.시작주소 + j
imoracle.tistory.com
들어가며
지뢰의 위치를 찾아 그려주는 프로그램을 만들어 보겠습니다.
C#을 이용해서 만들어 보겠습니다.
시작
지금와서 보니 왜 이걸 Decimal로 보고 있었을까 싶습니다.
어쨌든 143 은 0x8F 입니다. 16은 0x10 입니다.
0x10 을 기점으로 행의 시작과 끝을 구분합니다.
사실 위의 사진을 캡쳐 할때만해도 아무생각없이 그냥 크기대로 들어가는줄 알고 진행하다
2차원 배열에 값을 넣어주는데 이상한 값이 들어가서 메모리를 다시 살펴보고
0x10을 기점으로 시작과 끝을 나눈다는걸 알게됐습니다.
꺼진 메모리도 다시봐야합니다. 대충보면 이런 불상사가 일어납니다.
위 사진은 다시 제대로 보고나서 찍었네요
대충 이렇게 됩니다. 끝에서 시작까진 0x18만큼 떨어져 있고 시작에서 시작까진 0x20 만큼 떨어져 있습니다.
2차원배열에 잘 들어가네요
오버레이 폼
폼을 만들고, 배경색을 투명으로 만든 후
C#에선 TransparencyKey 도 Wheat로 해주셔야 투명이됩니다. BackColor만 Wheat로 하면 누런색이 반겨줄거에요
창이 항상 제일 위에 오도록 설정하고 보더스타일을 없애고
마우스 클릭을 뒤로도 전달해줄수 있도록하고 지뢰찾기 게임창의 크기에 맞게 조절해서 딱 붙여주면 됩니다.
포개준다고 생각하면 됩니다. 타이머를 통해 창이 이동하더라도 따라갑니다.
월핵에 굉장히 많이 쓰이는 기법입니다. 물론 Direct3D Hooking을 통한 월핵구현도 있지만
선행되어야 할 지식이 많습니다. 그리고 오버레이는 메모리를 직접 변조할 필요도 없기에
안티치트를 우회할 필요가 없다는 점이 있습니다.
DrawRectangle을 통해 그려줍니다.
그려주려면 폼 속성창에서 이벤트로 들어가 paint 를 선택해주어야합니다.
안그러면 작동하지않습니다.
그럼 이렇게 됩니다.
이제 지뢰칸을 색칠해주던지, 지뢰칸만 그려주게하면 되겠네요
https://imoracle.tistory.com/51
[Game] 지뢰찾기 월핵 제작 - 2 -
이어서이제 메모리를 읽어와서, 2차원 배열에 값을 넣어주어야 합니다. 프로그램을 열어줍니다. 실시간으로 볼 수 있게 띄워주겠습니다.전 포스팅에서 봤다시피 0x20 은 32입니다.시작주소 + j
imoracle.tistory.com
'Reverse Engineering > GAMEHACK' 카테고리의 다른 글
[Anti - Reversing] 보안솔루션 직접 제작하기 - 2 - (0) | 2024.07.05 |
---|---|
[Anti - Reversing] 보안솔루션 직접 제작하기 - 1 - (0) | 2024.07.04 |
[Game] 지뢰찾기 월핵 제작 - 2 - (1) | 2024.07.04 |
[Assaultcube] FPS게임 분석 및 핵 제작 - 2 - (0) | 2024.07.04 |
[Assaultcube] FPS게임 분석 및 핵 제작 - 1 - (0) | 2024.07.04 |