Cyfinity의 주저리주저리

cyfinity.egloos.com

포토로그


Banner


탈옥 아이폰 뱅킹앱

아이폰에서 뱅킹앱이 안 되는 바람에 이것저것 뒤져보다가,

objdump로 바이너리의 function list를 죽- 떠보니까 이름이 이상한 놈들이 있네요(주로 AppDelegate에 달려 있네요)

Crackulous같은걸로 앱을 크랙하고, 바이너리 패치로 요 function들을 무력화시키니 실행은 잘 되는 듯.

인터넷 뒤져 보니 DeCryptIt이라는 좋은 툴이 있네요.

몇가지 수정을 거쳐서 자동패쳐를 만들고는, deb화 해서 개인 Cydia repo에 집어넣어두고 잘 쓰고 있습니다. ㅋ

여튼 재밌는 뻘짓이었으니 기록으로도 남겨둘 겸 블로그에 공개합니다. 

이런거 공개하면 문제가 될 소지가 있는지 잘 모르겠지만,,, 뭐 다 자기 책임하에 쓰면 되는 것 아닐까요.

아니면 뭐 지우면 되고(...)

대신 간단간단하게 적죠. 이걸 보고 따라하실 수 있으신 분이라면야 보안상 아무 문제 없을 겁니다.

방법은 대략 이렇습니다.

1. 어디선가 DeCryptIt을 구합니다.

2. tempLoc을 넣는 부분이 있을겁니다. 크랙하고자 하는 어플 아이디를 구하세요. com.회사명.어플명 정도로 되어 있습니다.

tempLoc=$(plutil -key User
 -key com.companyname.appname -key Path /var/mobile/Library/Caches/com.apple.mobile.installation.plist)

정도로 고쳐줍니다. 이거보다 더 나은방법으로 앱을 찾을 수 있으면 더 좋겠지만, 뭐 동작하는데 큰 문제는 없습니다.

3. 은행어플 폴더에가면 바이너리가 있습니다. objdump하고 grep을 적당히 조합해서 JailBreak을 검사하는 function의 이름을 알아냅니다. 대충 뭐 Check뭐시기 라거나 isJailBroken? 이런식이네요.

4. 요 코드를 DeCryptIt의 적당한 곳에 넣어줍니다.

let "jailcheck = 0x$(objdump -t $WorkDir/$AppExecCur | grep $JBCheckFunc | head -1 | awk '{print $1}')"
foo=$(echo -ne "\x80\xB5\x00\x20\x80\xBD" | dd seek=$(($jailcheck - 0x1000)) count=6 bs=1  conv=notrunc of="$WorkDir/$AppExecCur" >> /dev/null 2>&1> /dev/null)

JBCheckFunc라는 변수에는 3번에서 찾은 function이름을 넣어줍니다.

"\x80\xB5\x00\x20\x80\xBD"요넘은 0을 리턴하는 arm7함수에요. arm6에서도 되는지 잘모르겠는데 귀찮아서 안찾아봤어요. -_-;;;;

1을 리턴하게하고 싶으면 중간에 00을 01로 고치면 되는데...... 0 리턴해주면 보통 다 되더군요.

5. DeCryptIt 맨 밑에쯤에 바이너리를 치환하는 코드를 집어넣습니다. 이래두면 귀찮은 수고 없이 바로 은행어플 이용이 가능하게 되죠.

6. 스크립트를 저장하고, deb으로 만들어서 postinstall script에 이걸 실행하도록 설정해버립니다. 이렇게 해두면 cydia를 통해 패키지를 설치할때마다 패치를 해 주게 되죠. 어플이 업데이트되면 reinstall하시면 되겠습니다. =_=

끝. 참 쉽죠? -_-;

이짓도 귀찮아서 아예 mobilesubstrate로 함수를 치환하는 방법도 고려중입니다. 근데 제가 mobilesubstrate를 잘 모르네요.

나중에 심심하면 이쪽에도 도전해보도록 하겠습니다.

덧글

  • cyfinity 2011/05/28 23:39 # 답글

    Syntax Highlighting이 안되니까 되게 불편하네요. 빨리 대안을 찾아야할듯
  • 2011/06/17 22:44 # 삭제 답글 비공개

    비공개 덧글입니다.
  • 거대한아기 2011/08/31 22:17 # 삭제 답글

    감사합니다. 해봐야겠네요
댓글 입력 영역



통계 위젯 (화이트)

31
6
4063

수평형 스카이스크래퍼

ga

mathjax