안경잡이개발자

728x90
반응형

치트 엔진(Cheat Engine) 튜토리얼(Tutorial) 4단계

나동빈


  이번 시간은 치트 엔진 튜토리얼의 4단계를 풀어 볼 것입니다. 지난 시간에는 문제를 풀 때 자료형이 정수형인 것만 감안하였습니다. 이번 시간에는 찾아야 하는 데이터가 단순히 정수형이 아니라 실수형입니다. C언어 계열의 프로그램에서는 크게 2가지 실수형이 많이 사용됩니다. 작은 크기의 실수형을 나타낼 때 사용하는 Float큰 크기의 실수형을 나타낼 때 사용하는 Double입니다.



  문제를 확인해보니 Float과 Double의 두 변수가 존재하며 이 두 개의 값을 모두 5000 이상으로 올리면 된다고 합니다.



  따라서 바로 치트 엔진에서 해당 튜토리얼 프로그램을 열어 주시고 자료형이 Float이면서 100의 값을 가지는 변수를 스캔해보겠습니다.


  (실수형은 정수형보다 수치 정확도가 낮으므로 혹여나 검색이 잘 안 된다면 '범위로 검색'하는 방법도 있습니다.)



  이제 Float 변수를 찾기 위해 Hit me 버튼을 클릭해 값을 변경시켜봅시다.



  그러면 위와 같이 93.5로 값이 변경된 하나의 변수가 발견됩니다. 우클릭하여 주소 리스트에 추가합니다.



  마찬가지로 Double 형을 가지는 변수도 검색 해주시면 됩니다.



  마찬가지로 버튼을 누르니 값이 변경되는 군요.



  Double형 변수도 스캔이 완료되면 주소 리스트에 추가합니다.



  이제 두 값을 모두 5000으로 바꾸어주시면 됩니다.



  그러면 다음과 같이 성공적으로 문제를 풀어낸 것을 확인할 수 있습니다.



728x90
반응형

728x90
반응형

치트 엔진(Cheat Engine) 튜토리얼(Tutorial) 3단계

나동빈


  이번 시간에는 치트 엔진 튜토리얼 3단계를 풀어보도록 할 것입니다. 이 예제도 실제 게임 해킹에 있어서 매우 매우 많이 사용되는 예제이므로 반드시 튜토리얼을 익히고 넘어가시는 것을 추천드립니다.


  3단계 문제 요약: 0부터 500 사이의 숨겨진 변수가 있고, 버튼을 누를 때마다 이 변수의 값이 일정 부분 감소합니다. 이 때 그 변수의 값을 5000으로 만드는 문제입니다.



  문제가 다소 길게 쓰여있지만 위에 요약된 내용과 일치합니다.



  기본적으로 현재 변수의 값이 정확히 무엇인지 모르므로 'Unknown initial value'로 설정하여 메모리 내에 존재하는 모든 변수를 스캔해야 합니다. First Scan 버튼을 눌러서 스캔을 진행하세요.


※ 팁(Tip)



  (만약에 이미 어떤 작업을 하고 있던 도중이었다면 'New Scan' 버튼을 눌러서 새롭게 스캔을 시작해야 합니다.)


  아무튼 First Scan을 눌러서 전체 변수를 스캔하면 다음과 같이 매우 많은 변수의 개수가 보입니다.



  이제 이 상태에서 '감소하는 변수'의 값을 찾아내기 위해 다음과 같이 Hit me 버튼을 클릭합니다.



  그러면 일시적으로 총 얼마만큼의 값이 감소했는지 위와 같이 나옵니다. 정확히 2만큼 감소했네요.



  그러면 이전과 대비했을 때 2만큼 감소한 변수를 찾기 위해 'Decreased value by'로 설정하고 2를 입력하여 스캔을 진행합니다.



  그러면 위와 같이 29개의 변수로 매우 좁혀지는 것을 알 수 있습니다. 이런식으로 반복하여 스캔하면 결국 하나의 변수만이 남게 됩니다.



  한 번 더 Hit me를 눌렀을 때 10이 감소하였으므로 다음과 같이 10만큼 줄어든 변수로 이어서 스캔해주시면 됩니다.



  결과적으로 저는 01732CDC 주소의 변수가 제가 찾던 변수임을 확인할 수 있었습니다.



  해당 변수 라인을 우클릭하여 바로 'Change value of selected addresses'를 눌러 값을 변경하시면 됩니다.



  저는 문제에서 요구한 대로 5000이라는 값을 넣어주었습니다.



  넣어주자마자 바로 다음과 같이 Next 버튼이 활성화 되며 문제가 풀린 것을 알 수 있습니다.


728x90
반응형