아이폰 뱅킹수정 덤프파일 적용방법 iOS SmartBank2011/05/27 13:58
덤프파일 적용법에 대해 질문하는 분이 많이 있어서 적어봅니다.
먼저, 적용하려는 앱의 설치경로를 알아야합니다. 여러가지 방법이 있는데 가장 흔하게 사용하는 SBSettings를 이용하는 방법을 예로 들어 설명하겠습니다.
1. SBSettings 좌측 하단의 More 버튼을 누릅니다.
2. 스크롤을 밑으로 내려서 App Folders 를 누릅니다.
3. 해당 앱을 찾아서 탭하면 상세위치가 나타납니다.
앱 설치경로를 알아냈으면, iFunBox 등을 이용해서 해당 경로를 찾아가서 앱 실행파일을 복사해옵니다. 앱 설치경로가 /private/var/mobile/Applications/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/AppName.app 일 경우, AppName.app 안의 AppName 이 실행파일이 됩니다.
이제 덤프파일을 실행파일에 덮어씌우고 cryptid 를 변경할 차례입니다. HEX 에디트가 가능한 에디터가 필요합니다. UltraEdit 도 많이들 사용하지만, 여기선 제가 좀 더 즐겨 사용하는 툴인 HxD 를 사용하도록 하겠습니다.1 HxD 에서 덤프파일과 앱 실행파일을 모두 불러옵니다.2
1. 덤프파일을 전체 선택(Ctrl-A)한 다음, 복사(Ctrl-C)해둡니다.
2. 앱 실행파일로 가서 찾기-이동(Ctrl-G)를 눌러 dump overwrite 오프셋을 입력합니다. 0x641000 일 경우, 오프셋 형식을 16진수에 두고 641000을 입력하면 됩니다.
3. 편집-붙여넣기 쓰기(Ctrl-B)로 덤프파일 내용을 붙여넣기 합니다.3 (주의: Ctrl-V가 아닙니다)
4. 이동(Ctrl-G)으로 cryptid 오프셋으로 이동합니다.
5. 01을 00으로 수정합니다.
여기까지가 덤프파일 적용(실행파일 디크립트) 과정입니다. 수정한 실행파일을 저장하고 iFunBox 등으로 아이폰의 원본 실행파일에 덮어씌운 뒤 해당 앱을 실행했을 때 정상적으로 실행4이 되면 문제없이 디크립트가 된 것입니다. 만약 앱을 실행했는데 화면만 잠깐 떴다가 바로 스프링보드로 튕겨버린다면 디크립트 과정에서 문제가 있었거나 실행파일의 권한이 잘못 설정되어 있는 경우입니다. iFile 등에서 실행파일의 권한이 755(rwxr-xr-x)로 되어있는지 확인하시고, 디크립트 과정을 다시 한번 천천히 되짚어보시기 바랍니다.
디크립트까지 모두 성공적으로 마쳤다면, 앱 실행파일에서 수정위치를 찾아서 코드수정을 해주면 됩니다. 수정방법은 cryptid를 변경할 때와 동일하므로 따로 설명은 하지 않겠습니다.
부록: dump overwrite 위치와 cryptid 위치를 모르는 경우
- 사실 전 맥에서 작업을 하기 때문에 윈도우즈용 어플리케이션인 HxD 는 거의 사용하지 않습니다만 '설명'을 위한 글이기 때문에 범용적인 윈도우즈용 툴을 예로 들겠습니다. [본문으로]
- 작업 전에 실행파일은 원본을 따로 백업해두는걸 추천합니다. [본문으로]
- '삽입'이 아니라 '덮어씌우기'이므로 작업 전/후의 실행파일 전체 용량이 변화하면 안됩니다. [본문으로]
- 탈옥관련 메세지가 뜨는 것은 별개의 문제입니다. [본문으로]
- offset 값(6553600)에 4096을 더한 뒤 16진수로 변환해도 됩니다. [본문으로]
- cryptsize 를 이용해서 보다 정확한 위치를 알아내는 방법이 있지만 맥이 필요하기 때문에 생략하겠습니다. [본문으로]
