리버스엔지니어링(역공학)/치트엔진

치트엔진 튜토리얼 1단계 체인지벨류

CodeHS 2019. 1. 29. 14:01

1.치트엔진을 실행하면 우측 상단에 있는 Help를 눌러서 치트엔진 튜토리얼을 실행하자 64bit로 선택하지말고 위에 32비트전용으로 선택을 한다.


 

2.컴퓨터모양의 버튼을 눌러서 프로세스를 치트엔진 튜토리얼로 잡아준다. 그리고 어태치 버튼을 눌러서 어태치를 해준다.



3.NEXT를 눌러서 넘어가면 1단계가 나온다 .

해석을 해보면 Health 즉 체력이 100인데 그것을 1000으로 바꾸라는 뜻이다.

힌트를 보면 대부분 체력은 2바이트나 4바이트로 되있다는데 1000으로바꾸는것이니 4바이트이다.

바이트개념을 이해하지않았으면 바이트 개념부터 이해하고 오기 바란다.



보기와 같이 100을 4바이트로 스캔하게되면 수많은 값이 나온다.

여기서 진짜값 즉 진값을 찾아야한다. 100이 모두 체력값이라고 판정을 지을수없기 때문에 여기서 체력을 담고있는 값을 찾으면된다. 빨간색 박스는 어드레스이다. Adress는 한국어로 주소를 뜻한다. 집마다 주소가 있듯이 값을 담고 있는 주소도 각각 있다. 이중에서 우리가 구하려는 것은 체력값을 담고 있는 주소이다. 노란색박스는 현재 값을 뜻하는것이고 파란색박스는 이전 값을 뜻하는것이다.


Hit me 를 클릭하여 때려서 체력을 내려준다. 체력이 96이되었는데 2번 스캔창에다가 96을치고 Next Scan을 클릭한다.

NewScan은 새로스캔하는거고 Next는 기존에 스캔했던것들 사이에서 판별해내는것이다. 100이였는데 96을 넥스트 스캔을 하면 96으로 변한 값을 찾는것이다. 옆에 나온 한가지의 값을 더블 클릭하여 밑에 테이블로 옮겨준다.

값이 여러개가 나올수도 있는데 당황하지말고 한대 더 때려서 2,3 번방법을 반복해보자.


번호 순서대로 하면된다 벨류를 더블클릭하면 벨류를 수정하는 창이나온다. 문제를 보면 health 즉 피의 값을 1000으로 바꾸라는것이다. 1000을 입력해주고 OK버튼을 누른후 3번 체크박스를 체크한다. 여기서 체크개념은 값이 변하지않도록 고정시키는것이다. 즉 아무리때려도 절대 죽지않는다. 체크를 한 후에 튜토리얼을 신나게 때려보자. 그러면 넥스트 버튼이 활성화 될것이다.



넥스트 버튼을 클릭하여 2단계로 넘어가보자.

2단계는 다음글을 통해 설명을 하도록 하겠다. 처음에는 지루하지만 이것들을 응용하다보면 언젠가는 전문가가될것이다. 그후 악성코드를 분석해보자.