본문 바로가기

(임시휴재) Fanta's Post

테트리스 블럭 조작

오늘의 타겟파일입니다.
'C언어 길라잡이'의 예제중 하나죠.



이 테트리스에는 이처럼 7개의 블럭이 있습니다.
이 일곱개의 블럭들을 불규칙적으로 생성하려면 남수발생함수인 rand()함수를 쓸겁니다. 아마.
rand()함수의 자세한 사용법 : 난수 발생함수 rand(), 난수 범위 지정하기

ida로 해당프로그램을 열어 함수를 살펴봅니다.

없을 리가 없는 rand()함수를 찾아놓고 함수가 쓰이는 위치를 분석합니다.


40225A에서 rand()함수를 쓰는 게 보입니다. 안보인다고 하지 말아요
올리디버거로 함수의 리턴값이 저장되는 eax다른 상수를 집어넣으면 끝나는 겁니다 ㅇㅅㅇ


mov eax,0
이렇게 바꾸면


ㄴ자의 블럭들이 떨어집니다. 배열의 인덱스0에 ㄴ블럭이 저장되어있나봐요.
우리가 원하는 블럭은 당연히 1자블럭이죠. ㅋㅋ

eax값(배열 인덱스)에 따른 블럭모양

1자 블럭은 5번 배열에 있는 것 같네요.

40225A행을 mov eax,5로 바꾸니

이런 아름다운 보습이 보이게 됩니다.

'(임시휴재) Fanta's Post' 카테고리의 다른 글

메모리 패치 치트엔진 튜토리얼 3  (0) 2009.01.08
메모리 패치 치트엔진 튜토리얼 ~2  (0) 2009.01.01
abex4 crack  (1) 2008.12.18
abex3 crack  (2) 2008.12.10
abex2 crack  (4) 2008.12.03