일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 6번문제
- 리버싱
- CodeEngn
- xcz.kr 문제풀이
- CheatEngine Tutorial
- 포렌식
- 워게임풀이
- xcz.kr
- Basic RCE
- BasicRCE
- Couldn't invoke the file
- reversing
- 치트엔진 튜토리얼 게임
- 1번문제
- 워게임
- 치트엔진
- suninatas
- 3번문제
- Web
- cheatengine
- Couldn't in
- 오토잇디컴파일
- WarGame
- 시스템
- 8번문제
- wargame.kr
- WTF_CODE
- 써니나타스
- 치트엔진 튜토리얼
- xcz.kr prob
- Today
- Total
HackChang
[Cheat Engine Tutorial] 치트엔진 튜토리얼 8번 문제 풀이 본문

치트엔진 튜토리얼 8
이 문제는 6번 문제의 심화 문제라고 할 수 있다.
멀티레벨 포인터라는 것은 저번 문제처럼 오프셋이 하나가 아닌
여러 개의 오프셋으로 이루어진 포인터라고 할 수 있다.
말로 설명하기 힘드니 문제를 풀면서 보도록 하겠다.
기존 문제들과 같이 스캔을 진행하도록 하겠다.

값을 찾았고 F6을 눌러 opcode write를 보도록 하겠다.

레벨 6에서도 봤던 내용이라 설명은 하지 않겠다.
벨류가 바뀌고 메모리가 쓰이는 것을 확인할 수 있었다.
* 멀티레벨 포인터의 경우에는 오프셋을 모두 메모해두어야 한다.
[esi+18]에서 18이 오프셋이다.
즉 첫번째 포인터의 오프셋은 18

해당 ESI를 스캔을 해보도록 하겠다.

해당 주소를 검색하면 4개의 결과를 볼 수 있었다.
* 컴퓨터마다 찾은 결과 수가 다를 수 있다.
여기서 레벨 6처럼 초록색으로 된 주소(static)를 찾을 수 없었다.
멀티레벨 포인터이므로, 몇 번의 과정을 거쳐야 나올 것이라 예상했고,
해당 값들을 주소목록으로 내려 F5(access address)를 보도록하겠다.
* 내 컴퓨터의 경우에는 노란색을 access address 후 Change Value를 진행하면 프로세스가 멈추는 현상이 있어
전에 나온 값과 가까운 값을 access address했더니 멈추지 않았다.

F5(access address)를 누르면 F6(write address)와 거의 똑같은 창이 뜨는 것을 볼 수 있었고,
Change Value를 눌러 반응을 살펴보도록 하겠다.

이렇게 2개의 액세스된 주소가 나오는 것을 볼 수 있었고,
두번째 포인터의 오프셋은 0인 것을 볼 수 있다.

해당 주소를 스캔해보도록 하겠다.

5개의 결과를 볼 수 있었고,
스캔한 주소와 비슷한 주소를 주소목록으로 내려 access address를 통해 보도록 하겠다.

다시한번 Change Value

세번째 포인터에서는 오프셋이 14이고,
esi 주소를 보도록 하겠다.

해당 주소를 다시한번 스캔

스캔값과 제일 비슷한 어드레스를 주소목록으로 내려
한번 더 access address를 통해 보도록 하겠다.

Change Value를 누르도록 하겠다.

네번째 포인터의 오프셋은 0C이다.
또 esi주소를 스캔하도록 하겠다.

4번의 스캔을 통해 결국 static으로 된 주소를 발견할 수 있었고, 해당 값을 더블클릭하여
주소목록으로 내리도록 하겠다.

해당 어드레스를 더블클릭 후 change address를 본다.

아래에 해당 주소를 적고 Add Offset을 통해 우리가 구한 오프셋 갯수만큼 추가시킨다.


맨 위의 오프셋부터 첫번째 포인터의 오프셋을 아래쪽으로 적어주면 해당 포인터의 벨류가 현재 튜토리얼의 벨류인 것을 볼 수 있다.
우리가 구한 포인터값은 튜토리얼 프로그램을 재시작해도 벨류를 바로 찾을 수 있게된 것이다.
5000을 16진수로 바꾸면



벨류를 1388으로 프리징 시키면 Next가 활성화되어 클리어된다.
'W4RG4M3 > R3V3RS1NG' 카테고리의 다른 글
[Cheat Engine Tutorial Game] 치트엔진 튜토리얼 게임 1번 문제 풀이 (0) | 2020.07.09 |
---|---|
[Cheat Engine Tutorial] 치트엔진 튜토리얼 9번 문제 풀이 (0) | 2020.07.07 |
[Cheat Engine Tutorial] 치트엔진 튜토리얼 7번 문제 풀이 (0) | 2020.07.07 |
[Cheat Engine Tutorial] 치트엔진 튜토리얼 6번 문제 풀이 (0) | 2020.07.07 |
[Cheat Engine Tutorial] 치트엔진 튜토리얼 5번 문제 풀이 (0) | 2020.07.07 |