'game dev story'에 해당되는 글 1건

  1. 2011/02/08 Game Dev Story (iPhone) - 게임 크래킹 플레이...

기술적인 부분이기 때문에, 문의 받지 않습니다...


OSX Mach Binary를 좀 뜯어 보신분은 이해를 하실겁니다..


- 어제 완탈이 나온걸 보고, 제 아이팟 터치를 완탈 했네요. Game Dev Story랑 온천장을 가지고 놀아 보려구요. (물론 정품 구입했습니다만...)

- 귀찮게 노가다 하느니, 그냥 바이너리 뜯어 보고 게임을 빨리 접는쪽이 시간상 이득(?)이기에.. Reversing을 좀 했습니다. 리버싱한후 수정한 바이너리는 완탈에서만 돌아갑니다. 왜냐면 코드 사이닝 부분을 통과 못하기 때문인데요, 이것도 메모리에 올라간 부분을 수정해서 덤핑하면 되겠지만(앱 크랙하듯) 그거까지 하기엔 좀... 일단 정품을 써도 시중에 떠도는 IPA 에서 바이너리 추출해서 크래킹이 진행 됩니다.. (뭐 어쩔수 없어요...)

- 사용 툴은 IDA 5.5 입니다.


기본적으로 잡레벨업을 했을때 올라가는 수치는 하드 코딩 되어 있습니다...

간단하게 이야기 하자면...

해커 LV1 -> LV2를 할때, 각 파라미터는 1,1,1,1씩 올라가게 되어 있는데..

요게 처음 코딩될때..

AddJobLevel(1,1,1,1); // <- 요렇게 코딩되어 있단 말씀...

맹글링 엔트리 포인트는 __Z11AddJobLeveliiii 입니다.. 그러니까 999,999,999,999 노가다 할때 굳이 삽질안해도 저거 좀 만져 주면 금방 업된다는 이야기 되겠습니다..

요구 테이블은 다음과 같습니다.
08000300
09030000
0a000103
0c040304

000c0005
000a0306
07080300
030c0403

00020600
03010a00
00030600
04020c04

02010006
0100030a
02000206
0603050e

0a0c0001
080a0202
090b0104
0f0e0302

0a0a0c06
0a050a08
080a0c00
0e0f0c12

0b0b000b
0b0b0503
0b0b0005
14120c00

01010101
0c0c0c0a
0f0f0f0f
281e1e1e

사용법은 01010101 처럼 되어 있으면,
01 20 01 21 01 22 01 23 처럼 Hex 값이 있을겁니다..
10 20 10 21 10 22 10 23 처럼 적당히 고쳐 주시면 됩니다. 저 테이블에 숫자들이 일정 간격 쭉 붙어 있습니다.. (아마 함수콜해주는 부분 빼고 나열 이니까요.. 중간에 20, 21, 22, 23 은 MOVS R0, #val; 입니다... 레지스터에 넣어 주는거죠)

LV업 할때에 필요 요구 수치를 낮추고 싶다면...
__Z10AddJobTypeiiSsiiiiiiiiii 이 불리는 부분을 바꿔 주면 됩니다..
함수 원형은 AddJobType(int,int,std::string,int,int,int,int,int,int,int,int,int,int); 입니다.

MOVS    R3, #0x28
STR     R3, [SP,#0xDA0+var_DA0]
MOVS    R3, #0x3C
STR     R3, [SP,#0xDA0+var_D9C]
MOVS    R3, #0x5A
STR     R3, [SP,#0xDA0+var_D98]
MOVS    R3, #0x87
STR     R3, [SP,#0xDA0+var_D94]

파라미터 4개 세팅이 되는 부분을 보시고 바꿔 주면 되겠죠?
대략 위의 경우는...
'28' 23 00 93 '3c' 23 01 93 '5a' 23 02 93 '87' 정도의 HEX 입니다..
'01' 23 00 93 '01' 23 01 93 '01' 23 02 93 '01' 정도로 수정하면, 금방 렙업을 시킬수 있겠죠?

단 맨 나중에 Hacker는 약간 다릅니다... Hacker LV4->LV5는 256 이다 보니 LSLS로 되어 있네요...

요구 테이블은
여기서 얻으시고.. 이것도 대충 비슷한 위치에 있습니다..

ps.
초기 무한 돈패치는 따로 안올립니다.
설명 해달라면 설명은 해줄수 있지만, 이것도 귀찮아서요...

참고로 온천장은 텍스트로 그냥 온전히 인코딩 되어 있으니..
한글화 한것 처럼 그냥 텍스트 뜯어서 수정 하면 됩니다.
이건 뭐 어렵지 않죠.

와글와글 판매점은 게임이 안땡겨서 모르겠네요..

저작자 표시 비영리 변경 금지
Posted by 죠짱