Computer/Crack2009. 5. 23. 21:25


step 8은 Multilevel pointers, 포인터의 포인터 찾기 입니다. 주어진 값은 4단계의 포인터에 의해 지시되고 있습니다. step 6를 완전히 이해 했다면 어렵지 않게 해결할 수 있을겁니다. 우선 문제를 해결하기 전에 'Settings'를 클릭해 설정을 약간 바꿔 주겠습니다.


Settings를 클릭하면 위와 같은 윈도우가 나타나는데 'General settings'에서 'Pointer adding:Append pointerline instead of insert'를 선택해 줍니다.

자, 그럼 문제를 풀어 보도록 하죠. 이번 튜토리얼은 step 6와 마찬가지로 'Change pointer'를 클릭해 변수의 주소가 바뀌었을 때도 값이 5000으로 고정 되어있도록 만들어 주는 것입니다. 그럼 Cheat Engine을 실행하고 튜토리얼을 오픈 합니다. 'Change value'버튼을 클릭하면 값이 바뀌므로 쉽게 주소를 찾을 수 있을 겁니다. 'Change pointer'버튼은 마지막에 쓰이므로 건드리지 않도록 합니다. 주소를 찾았다면 step 6에서 했던 것처럼 포인터를 찾아 리스트 박스에 옮겨 놓습니다.


값은 814로 바뀌었고 포인터의 주소는 00972F10, 오프셋은 18이었습니다. 00972FBC를 가리키는 포인터군요. 여기까진 step 6와 다를바 없습니다. 하지만 우리가 찾은 00972F10역시 다른 포인터에 의해 지시되고 있다는게 다른점 입니다. 베이스 주소는 녹색으로 표시되므로 녹색으로 된 주소를 찾을때까지 계속 같은 작업을 반복해 주면 됩니다.

그럼 우리가 찾아놓은 포인터를 지시하는 다른 포인터를 찾아 보도록 하겠습니다. 리스트 박스에 추가해 놓은 포인터 위에서 오른쪽 마우스 클릭하여 'Find out what accesses this address'를 선택해 주고 'Find out what accesses this pointer'를 클릭합니다.


다시 튜토리얼로 돌아가 'Change Value'버튼을 클릭하면 어떤 코드가 포인터에 접근하는지 찾아낼 수 있습니다.


0045981e번지에 있는 '8b 10'이라는 코드가 잡혔군요. 'More information'버튼을 클릭하여 더 자세한 정보를 확인 하도록 하죠.


우리가 찾아야 할 값은 00972F10이겠죠? Cheat Engine으로 돌아가 검색 하겠습니다.


00972EF8번지가 검색 되었습니다. 이 주소가 우리의 포인터의 포인터 주소입니다. 이 포인터를 리스트 박스에 추가해 주겠습니다. 포인터의 포인터를 추가 하는 작업은 처음 포인터를 추가할때와는 약간 다른 작업을 필요로 합니다. 하지만 별로 어렵지 않으니 천천히 따라 오시기 바랍니다.

우선 우리가 추가해 놓았던 'P->00972FBC'를 더블 클릭하겠습니다.


조금전 포인터를 추가 했던 윈도우가 다시 등장합니다. 이 윈도우에서 'Add pointer'버튼을 클릭합니다.


윈도우가 약간 길어지면서 새로운 포인터를 입력할 수 있는 에디트 박스가 추가 되었고 처음에 입력했던 주소가 사라져 버렸습니다. 하지만 오프셋 값은 그대로 남아 있군요. 이렇게 된 이유는 우리가 포인터의 포인터를 추가할 계획이기 때문입니다. 새로생긴 맨 아래의 'Address of pointer'에디트 박스에 우리가 조금전 찾아던 주소를 입력해 주면 모든 주소가 다시 자동으로 입력되고 오프셋값과 계산 됩니다. 그러므로 우리는 맨 마지막 에디트 박스에 정확한 주소와 오프셋 값만 다시 넣어주면 되는 것입니다.

그럼 우리가 조금전 새로 찾아 놓은 주소와 오프셋 값을 입력 하도록 하겠습니다.


자, 마지막 에디트 박스에 포인터 주소로 972EF8과 오프셋 0을 입력하니 나머지 주소가 자동으로 입력되고 결과적으로 00972FBC를 가리키는 포인터의 포인터라는게 확인 되었습니다. 'OK'버튼을 눌러 추가 하도록 합니다.


다시 Cheat Engine으로 돌아가게 되는데 아무것도 달라진게 없어 보입니다. 하지만 'P->00972FBC'를 더블 클릭하면 우리가 해 놓은 작업을 다시 볼 수 있습니다.

이제부터 같은 작업의 반복 입니다. 다시 'P->00972FBC'에 접근하는 코드를 찾아 포인터의 주소를 검색하고 같은 방법으로 포인터를 추가해 주는 것입니다. 베이스 주소인 녹색으로 표시되는 주소를 찾을때까지 진행시켜 보겠습니다.


드디어 마지막 베이스 주소를 찾았습니다. 그럼 추가해 줘야겠죠?


주소값으로 460C20, 오프셋값으로 C를 입력했습니다. 00972FBC를 정확히 지시하는군요. 'OK'버튼을 눌러 추가해 주고 'Value'를 5000으로 바꾼 후 freeze시키겠습니다.


튜토리얼이 원하는 대로 모두 해줬으므로 튜토리얼로 돌아가 'Change pointer'버튼을 눌러 확인해 보도록 하죠.


step 6와 마찬가지로 'You've got x seconds left to change the value to 5000'라는 메세지가 나오고 'Next'버튼이 활성화 되었습니다. 성공이군요.

'Next'버튼을 클릭해 마지막 step인 step 9으로 이동합니다.

'Computer > Crack' 카테고리의 다른 글

Cheat Engine - Searching Tip  (4) 2009.05.25
Cheat Engine - Step 9 : Injection++  (6) 2009.05.24
Cheat Engine - Step 7 : Code Injection  (4) 2009.05.22
Cheat Engine - Pointer(3D Pinball)  (0) 2009.05.22
Cheat Engine - Step 6 : Pointers  (3) 2009.05.21
Posted by J.sean