카테고리 없음

winmine 핵 만들기

burrri 2023. 11. 30. 21:49

<목표>

도움말(F1)을 누르면 지뢰의 위치를 알려주는 핵 제작

 

<과정>

1. F1 기능을 콜하는 함수 찾기

2. 지뢰를 보여주는 함수 찾기

3. F1의 기능을 지뢰를 보여주는 함수로 대체하기


1. 

 

IDA를 통해 MS심볼 서버를 설정하여 받으면 함수명이 'sub_100000' 등의 숫자가 아닌 함수명으로 나온다. 근데 이 부분에서 오류가 나서 모든 함수에 브레이크 포인트를 걸어주었다. 지뢰찾기 창이 정상적으로 나타날 때까지의 중단점들은 풀어주며 각 함수의 기능을 확인해 주었다.

이 방식을 통해 F1을 누르면 01003D76으로 이동하는 것을 알 수 있다.

다음을 보면 01001F0F에서 call 01003D76을 호출하여 F1의 기능을 불러내는 것을 확인할 수 있다.

 

 

 

2. 

위와 동일한 방식으로 계속해서 브레이킹 포인트를 해제하고 진행하는 과정을 반복해보자. 

01002F80 부분의 브레이킹 포인트를 해제하고 진행하니 다음과 같이 지뢰들이 보이는 것을 확인할 수 있다. 

 

 

 

3. 

이제 F1을 누르면 지뢰를 모두 보여주는 01002F80 함수을 호출하고 RETN하도록 만들어보자. 

F1 출력 포인트 :  01003D76
지뢰 출력 포인트 : 01002F80

 

이제 수정한 코드를 오른쪽 마우스 버튼 -  Copy to executable - All modification 으로 복사,  Backup - Save data to file 을 통해 저장해주자. 

저장한 게임에서 f1을 누르면 다음과 같이 지뢰가 보인다.