1.치트엔진 튜토리얼 Step 6 코드인젝션
보기와 같이 진값을 미리 찾아 테이블로 옮겨 놓는다.
이주소가 어느곳에서 사용되는지 보기위해서 Find out what writes to this address 를 누른다.
그리고 한대를 때리면 보기와같이 SUB 즉 값을 빼는것을 알 수 있다. SUB는 어셈블리 명령어로 빼기라는 뜻이다.
sub,[ebx+000000478],01 은 478이란주소에서 01만큼 빼라는 뜻이다 즉 공격을 했을때 1이 감소했던이유는 체력을 담고있는주소에서 버튼을 누를때마다 1씩 감소했기 때문이다. 우리는 이제 이것을 코드인젝션을 통해서 2씩 증가하도록 바꿀것이다. 문제를 보면 2씩 추가하면 성공이라고 나와있기 때문이다.
Show disassembler를 클릭하여 메모리뷰에있는 어셈블러 창을 보자.
코드인젝션을 해야함으로 tools에 오토 어셈블을 누른다. 단축키는 컨트롤+A이다.
창이하나 뜨는데 여기서 Template를 눌러 코드인젝션을 눌러준다.
코드인젝션을 실행하면 이와같이 나오는데 여기서 sub 즉 빼기를 add 더하기로 바꿔주고 2를 추가해야됨으로 뒤에 01을 02로 바꿔준다. 그러면 코드인젝션은 여기서 끝난다. Execute버튼을 눌러서 끝낸다.
그 후 정상적으로 코드가 바뀐것을 확인할 수 있다. 이후에 체력을 달게하면 2씩증가하면서 넥스트 버튼이 활성화될것이다.
다음글에서는 치트엔진 튜토리얼 Step 7에 대해서 다뤄보도록 하겠다.
'리버스엔지니어링(역공학) > 치트엔진' 카테고리의 다른 글
치트엔진 튜토리얼 7단계 다중 포인터 (2) | 2019.02.06 |
---|---|
치트엔진 튜토리얼 5단계 포인터 (0) | 2019.01.31 |
치트엔진 튜토리얼 4단계 사용할 수 없는 값 (0) | 2019.01.30 |
치트엔진 튜토리얼 3단계 실수형 (0) | 2019.01.30 |
치트엔진 튜토리얼 2단계 알수없는값 (0) | 2019.01.29 |