기술적인 부분이기 때문에, 문의 받지 않습니다...
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 노가다 할때 굳이 삽질안해도 저거 좀 만져 주면 금방 업된다는 이야기 되겠습니다..
요구 테이블은 다음과 같습니다.
08000300090300000a0001030c040304000c0005000a030607080300030c04030002060003010a000003060004020c04020100060100030a020002060603050e0a0c0001080a0202090b01040f0e03020a0a0c060a050a08080a0c000e0f0c120b0b000b0b0b05030b0b000514120c00010101010c0c0c0a0f0f0f0f281e1e1e
사용법은 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, #0x28STR R3, [SP,#0xDA0+var_DA0]MOVS R3, #0x3CSTR R3, [SP,#0xDA0+var_D9C]MOVS R3, #0x5ASTR R3, [SP,#0xDA0+var_D98]MOVS R3, #0x87STR 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.
초기 무한 돈패치는 따로 안올립니다.
설명 해달라면 설명은 해줄수 있지만, 이것도 귀찮아서요...
참고로 온천장은 텍스트로 그냥 온전히 인코딩 되어 있으니..
한글화 한것 처럼 그냥 텍스트 뜯어서 수정 하면 됩니다.
이건 뭐 어렵지 않죠.
와글와글 판매점은 게임이 안땡겨서 모르겠네요..
'Programming' 카테고리의 다른 글
| 하수구 청소와 디버깅. (0) | 2011/08/26 |
|---|---|
| Game Dev Story (iPhone) - 게임 크래킹 플레이... (0) | 2011/02/08 |
| 페이퍼 코딩의 유용성. (0) | 2009/05/21 |
| G사와 N사의 코딩 면접.. + 전산책들... (4) | 2009/05/21 |
| 어떤 언어가 좋을까? - 스크립트 언어 (0) | 2007/06/28 |
