[Cheat Engine] Tutorial 1~3 Write-Up

두비니

·

2021. 7. 19. 20:49

 


Cheat Engine Tutorial

Level 1~3


 

 

오늘은 Cheat Engine Tutorial입니다. 

우선 파일은 다음 링크에서 다운받을 수 있습니다.

https://www.cheatengine.org/downloads.php

 

Cheat Engine

Downloads Read before download: Cheat engine is for educational purposes only. Before you attach Cheat Engine to a process, please make sure that you are not violating the EULA/TOS of the specific game/application. cheatengine.org does not condone the ille

www.cheatengine.org

 

이제 연식이 좀 된 프로그램인지라 다운받아서 exe파일을 실행시키려하면 runtime error가 뜨면서 백신이 실시간 검사를 시킬 수도 있는데, 바이러스 아니니깐 안심하시고 잠시 백신을 끄고 다운받으시면 될 것 같습니다.

 

 

1. Level 1

 

일단 프로그램을 실행시키면 다음과 같은 화면이 나오게 됩니다. 이제 처음 실행시키면 아마 자동으로 튜토리얼이 뜰텐데, Help > Cheat Engine Tutorial로 실행시킬 수 있습니다.

 

그래서 Level 1은 그냥 단순히 소개하는 글입니다! 기본적으로 open하는 방법을 알려주네요.

 

파일은 왼쪽 상단의 모니터 아이콘이나 이나 File > open을 통해서 열 수 있고, 그럼 Process List가 나올텐데 거기서 '~~Tutorial-i336'파일을 골라서 Open을 눌러주시면 됩니다. 그럼 준비 끝!

 

 

2. Level 2

네, 일단 긴 지문을 확인해봅시다

Step 2: Exact Value scanning (PW=090453)
Now that you have opened the tutorial with Cheat Engine let's get on with the next step.

You can see at the bottom of this window is the text Health: xxx
Each time you click 'Hit me'  your health gets decreased.

To get to the next step you have to find this value and change it to 1000

To find the value there are different ways, but I'll tell you about the easiest, 'Exact Value':
First make sure value type is set to at least 2-bytes or 4-bytes. 1-byte will also work, but you'll run into an easy to fix problem when you've found the address and want to change it. The 8-byte may perhaps works if the bytes after the address are 0, but I wouldn't take the bet.
Single, double, and the other scans just don't work, because they store the value in a different way.

When the value type is set correctly, make sure the scantype is set to 'Exact Value'
Then fill in the number your health is in the value box. And click 'First Scan'
After a while (if you have a extremely slow pc) the scan is done and the results are shown in the list on the left

If you find more than 1 address and you don't know for sure which address it is, click 'Hit me', fill in the new health value into the value box, and click 'Next Scan'
repeat this until you're sure you've found it. (that includes that there's only 1 address in the list.....)

Now double click the address in the list on the left. This makes the address pop-up in the list at the bottom, showing you the current value.
Double click the value, (or select it and press enter), and change the value to 1000.

If everything went ok the next button should become enabled, and you're ready for the next step.


Note:
If you did anything wrong while scanning, click "New Scan" and repeat the scanning again.
Also, try playing around with the value and click 'hit me'

 

일단 기본적으로 영어로 해야할 일을 친절하게 써놓은 거고, 영어가 싫다면 따라오세영

 

 

일단 문제 창을 보면, health가 나와있는 것을 볼 수 있습니다. Hit me 버튼을 누르면 랜덤값으로 줄어들게 되는데, 결론적으로 문제가 요구하는건 이 health가 1000이 되는 것입니다. 당연히 hit me로 눌러서는 절대 안되니깐, 뭔가 조작을 해야겠죠?

 

1번을 잘 했다는 가정하에, 화면의 오른쪽 부분을 보면 Hex값을 입력할 수 있는 부분이 있습니다. 이 부분은 현재 프로세스 중 해당 type의 값을 말그대로 "스캔"한다는 뜻입니다. 지금 아래 스크린샷에 대입하면, 4바이트짜리, 딱 값이 100인 메모리를 찾아보는 것이겠죠?

그리고 이번에 찾아보는건 처음으로 스캔하는 것이기 때문에, First Scan을 진행해줍니다.

 

그럼 왼쪽에 보이는 것처럼 정말 많은 값들이 뜹니다. 지금 값들 중 100을 가지고 있는 모든 값들을 표시한 것입니다. 결론적으로 우리가 하고싶은건 딱 Health를 찾아서, 그 값을 1000으로 바꾸고 싶은건데, 이 상황에서는 어떤 거라고 특정하기가 힘들죠?

 

그래서 이걸 특정하기 위해서 tutorial창의 hit me를 한번 더 눌러봅시다.

저는 값이 99로 변했는데, 이건 랜덤으로 값이 줄어들기 때문에 사람마다 다르게 뜰 수 있습니다. 그러고 다시 cheat engine으로 돌아오면, 

다음과 같이 값을 99로 바꿔준 뒤, Next Scan을 눌러줍니다.

그러면 하는 일이 100을 통해서 1차적으로 걸러낸 값들에 대해서 지금 값이 99로 바뀐 값을 찾아내는 것입니다.

 

 

저는 이렇게 바로 값이 하나로 통합됐는데, 혹시나 2개 이상인 분들은 위 과정을 계속 반복해주시면 됩니다.

아무튼 하나로 정해지면, 저 주소가 019F9EC4인 Value가 99인 부분을 더블클릭해줍시다.

 

 

그럼 다음과 같이 아래 부분에 기록이 됩니다. 일종의 즐겨찾기라고 보면 되는데, 저기에 등록되면 값을 임의로 변경할 수 있게 됩니다. 그래서 Value부분을 더블클릭하면?

 

 

값을 우리 마음대로 바꿀 수 있게 됩니다.

그럼 이 값을 1000으로 바꾸면 되겠죠? 변경한 뒤, OK를 눌러줍시다.

 

 

값을 1000으로 바꾸면 Next 버튼이 활성화 되는 것을 볼 수 있습니다. 아직 업데이트가 되지 않아서 Health의 값은 99로 뜨는거구요. 암튼 다음!

 

 

3. Level 3

 

 

Level 3입니다.

Step 3: Unknown initial value (PW=419482)
Ok, seeing that you've figured out how to find a value using exact value let's move on to the next step.

First things first though. Since you are doing a new scan, you have to click on New Scan first, to start a new scan. (You may think this is straighforward, but you'd be surprised how many people get stuck on that step) I won't be explaining this step again, so keep this in mind
Now that you've started a new scan, let's continue

In the previous test we knew the initial value so we could do a exact value, but now we have a status bar where we don't know the starting value.
We only know that the value is between 0 and 500. And each time you click 'hit me' you lose some health. The amount you lose each time is shown above the status bar.

Again there are several different ways to find the value. (like doing a decreased value by... scan), but I'll only explain the easiest. "Unknown initial value", and decreased value.
Because you don't know the value it is right now, a exact value wont do any good, so choose as scantype 'Unknown initial value', again, the value type is 4-bytes. (most windows apps use 4-bytes)click first scan and wait till it's done.

When it is done click 'hit me'. You'll lose some of your health. (the amount you lost shows for a few seconds and then disappears, but you don't need that)
Now go to Cheat Engine, and choose 'Decreased Value' and click 'Next Scan'
When that scan is done, click hit me again, and repeat the above till you only find a few. 

We know the value is between 0 and 500, so pick the one that is most likely the address we need, and add it to the list.
Now change the health to 5000, to proceed to the next step.

 

자 이번에도 핵심만 이야기할게용

 

 

자, 목표는 이전 레벨처럼 값을 5000으로 바꾸는 것이 목표입니다. 그러나 이번에는 health의 정확한 값은 모르지만, 0에서 500사이의 값이며, Hit me를 누르면 감소된 health의 값은 알 수 있습니다.

 

자 그러면 다시 cheat engine으로 넘어와봅시다.

혹시 Level 2를 푼 뒤 바로 Level 3을 풀고 있다면, 우측 상단 new scan을 눌러서 초기화시켜줍시다.

 

 

Cheat Engine에서 Scan Type를 누르면, Exact Value를 제외하고도 Unknown Initial Value도 있는 것을 볼 수 있습니다. 말그대로 값을 모르니깐 이걸 선택해서 시작할게요. 물론 0에서 500이하라는 값을 이용해서 Smaller than을 들고 가셔도 상관없습니다.

 

아무튼 그상태로 스캔을 진행하면 아무것도 안나온것처럼 보일 수도 있지만, 사실은 61만개가 나온걸 볼 수 있습니다. 

이거 실제로 감소된 값이 보이죠? 이걸 토대로 스캔합시다.

여기서도 scan type를 decreased value by를 선택해줍시다. 이건 정확하게 n만큼 값이 떨어졌다는 것을 볼 때 선택하는 옵션입니다. 그리고 4를 입력한 뒤, next scan을 넣어줍니다. 다만 여기서는 '감소한 값'이니깐 -4를 넣으시면 안됩니다.

 

아무튼 처음에는 계속 후보가 되게 많이 선발됩니다. 그래도 한 4~5번 노가다해주면

 

 

이렇게 딱 값이 뜹니다. 그럼 2번에서 한것처럼 더블클릭해서 추가해주고, 값을 바꾸면?

 

 

굳굳

'War Games' 카테고리의 다른 글

[Prompt Injection]  (0) 2023.05.28
[abex' Crackme] crackme2.exe  (0) 2023.04.11
[abex' Crackme] crackme1.exe  (0) 2023.03.16
[Cheat Engine] Tutorial Level 7 Write-Up  (0) 2021.07.21
[Cheat Engine] Tutorial 4~6 Write-Up  (2) 2021.07.20