게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 9단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #10) # 튜토리얼 9 - 지금까지 공부한 내용들을 혼합해서 문제를 풀어야 함 - 문제 요약: Player 1과 Player 2가 우리 팀이고, Player 3과 Player 4가 적팀이다. 게임을 시작하면 각 플레이어의 체력이 감소하는데, 치트 엔진을 이용하여 우리 팀이 이기도록 처리해야 함 - Player 1인 Dave의 Health를 찾기 위해 값 100을 Scan - 문제에서 Health는 float형이라는 tip을 주었으므로 value type을 float으로 함 - Attack을 누름으로써 값이 94로 변하는 변수가 Da..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 8단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #9) # 튜토리얼 8 - 다중 포인터를 이해하고 있는지 물어보는 단계 > 이번 문제는 여러 개의 포인터가 중첩되어 있음 - 문제 요악: 특정한 변수를 가리키는 포인터의 포인터의 포인터의 포인터의 포인터(5중 포인터)를 찾아내어 값을 5000으로 고정시키기 - 현재 변수의 값 1142를 가지고 First Scan을 진행 - 주소 리스트에 추가 - Find out what accesses this address를 눌러 어떤 포인터가 해당 변수를 가리키는지 확인 - Change value를 통해 값을 변경시켜 수행되는 기계어 확인 - m..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 7단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #8) # 튜토리얼 7 - Code Injection: 실행 중인 게임에 우리가 원하는 소스 코드를 삽입해서 실행하는 방법 - Hit me: 누를 때 마다 Health가 1씩 감소 - 문제 요약 > Hit me를 눌렀을 때 Health를 2씩 증가할 수 있도록 code injection하기 - 현재 Health의 값인 100으로 first scan 진행 - Hit me 버튼을 눌러 감소된 값을 다시 next scan으로 찾아봄 - 해당 주소를 주소 리스트에 추가 - Find out what writes to this address >..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 6단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #7) # 튜토리얼 6 - 포인터에 대해 물어보는 문제 - 포인터 변수: 컴퓨터 메모리 주소를 저장하는 변수 > 특정한 메모리 주소에 빠르게 접근하여 값을 변경하거나 활용할 수 있음 - 문제 요약 >Change value button: 포인터가 가리키고 있는 200이라는 값을 바꾸는 역할 > Change pointer button: 포인터 자체를 다른거로 바꾸는 기능 > 외관상으로는 똑같이 값이 바뀌는 것 같지만 내부적으로는 포인터의 값을 바꾸거나 포인터가 가리키고 있는 어떠한 변수의 값을 바꾸는 두 가지 일을 하는 것임 - 현재 값..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 5단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #6) # 튜토리얼 5 - 이번 문제는 특정한 메모리 주소에 접근하는 어떠한 기계어를 발견하는 방법을 알고 있으면 쉽게 해결할 수 있음 - 문제 내용 > 버튼을 누를 때 마다 값이 바뀌는데, 값이 바뀌도록하는 기계어 자체를 무효화해서 버튼을 눌러도 값이 변경되지 않도록 해야 함 > 어떤부분이 실질적으로 이 주소에 접근하는 기계어인지 찾아내서 그것을 대체(아무것도하지않는 코드)해야 함 - 100이란 값을 scan해서 어떠한 기능이 이 변수에 접근하여 기능을 하는지 알아내야함 - 정수형 값을 발견하면 4byte라고 이해하면 편함 → 4b..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 4단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #5) # 튜토리얼 4 - 문제 요약 > float type Health와 double type Ammo의 값을 5000으로 만들어야 함 - 이번에 찾아야 하는 데이터는 실수 형태 - 게임을 만들 때에는 C# 또는 C++을 많이 사용하는데, 이러한 C언어 계열의 프로그램에서는 두 가지 실수형이 가장 많이 사용됨 - 작은 크기의 실수형을 나타낼 때 사용하는 float형, 큰 크기의 실수를 나타낼 때 사용하는 double형이 있음 - value type이 float이고 값이 100인 변수를 찾기 위해 fist scan을 진행 - Hit ..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 3단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #4) # 튜토리얼 3 - 문제 요약 > 0부터 500 사이의 숨겨진 변수가 있음 > Hit me 버튼을 누를 때 마다 변수의 값이 감소함 > 이 변수를 찾아 값을 5000으로 만들어야 함 - 변수의 값을 모를 땐 scan type을 unknown initial value로 설정한 후 first scan 버튼을 누르면 됨 - Hit me 버튼을 누르니 1만큼 감소함 - 변수의 값을 모르고, 얼만큼 감소했는지를 알 때는 scan type을 Decreased value by ...로 설정 - next scan 변수를 누르면 1만큼 감소한..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 2단계 해결기 (Game Memory Hacking Tutorial by Using Cheat Engine #3) # 튜토리얼 2 - 체력 정보는 메모리에 저장이 됨 > health와 같은 변수명을 가지고 저장 - 컴퓨터의 프로그램을 분석 방법 > 정적분석: 소스코드를 바탕으로 분석 > 동적 분석: 프로그램을 실행하고 메모리를 조작하며 분석 - 튜토리얼 목적: health를 1000으로 변경하기 - Scan Type을 Exact Value로 설정하고, Hex에 현재 체력 값인 100을 입력하여 New Scan을 누르면, 현재 값이 100인 변수들의 주소가 나타남 - Hit me 버튼을 누르니 체력이 97로 변함 - 치트 엔진 프로그램에서도 ..
게임 메모리 해킹: 치트 엔진(Cheat Engine) 튜토리얼 1단계 해결하기 (Game Memory Hacking Tutorial by Using Cheat Engine #2) # 치트엔진이란 - 메모리 수정 프로그램으로 기능이 매우 많아 게임 해킹의 필수품으로 여겨짐 - 'cheat engine assembler'를 지원 - 프로그램에 어셈블리 코드를 끼워넣을 수 있음 # 튜토리얼 열기 - next 버튼을 누르면 다음 단계로 넘어갈 수 있음 - n 단계로 바로 넘어가기 위해서는 password를 기억하면 됨 - 튜토리얼이 꺼지면 Help -> Cheat Engine Tutorial에 들어가서 다시 실행시킬 수 있음 # 튜토리얼 1 - 튜토리얼 1단계를 읽어보니 프로세스를 불러오는 작업을 해야함 - ..