아이폰 애플리케이션 무결성 체크(기본)

기본적으로 IOS 애플리케이션에서 무결성 체크를 하는 로직이 있는지 여부를 확인하기 위한 아주 간단한 방법중 하나이다.
무결성 체크 로직이 있는 경우에는 해당 로직을 분석하여 우회하도록 변경하면 된다(탈옥탐지 우회랑 비슷한 방법으로 가능)

0) 사용되는 프로그램
  • HashCalc - 파일의 해시값을 구할 수 있는 프로그램이면 가능
  • HxD
  • iFunbox

1) iFunbox로 실행파일을 추출

2) 변조 전 실행 파일의 해시값 확인


3) HxD 로 파일 변조


3) 변조 후 실행파일의 해시값 확인


4) 변조한 파일을 저장 후, 해당 애플리케이션이 설치된 위치에 덮어쓰기

5) 앱 재실행 시 실행 가능 확인



아이폰 탈옥 탐지 우회

어떤 솔루션 및 로직을 사용해서 탈옥 탐지를 하느냐에 따라 우회 방법은 제각각이지만 가장 기본적인 방법으로 탈옥탐지 우회 방법을 정리한다.

0) 사용되는 프로그램
  • iFunbox 최신버전
  • HxD
  • IDA Pro 7.0

1) 단말기 탈옥 여부 확인 
- iFunbox를 열어 탈옥여부 확인
** 탈옥을 했음에도 "Jailbroken"이라고 표시되지 않는다면 cydia에서 Apple FIle Conduit"2"를 설치한다.


2) 탈옥폰에서 어플리케이션을 실행 시켜 탈옥 탐지 로직이 존재함을 확인


3) ps -ef를 이용해 실행되고 있는 앱이 설치된 경로 찾아가기 (/var/containers/Bundle/Application/~)



4) Clutch 앱을 이용하여 앱 복호화(앱스토어에서 설치한 ios앱은 기본적으로 암호화됨)
  • clutch -i : 복호화 가능한 앱 확인
  • clutch -b [앱번호] : 앱 복호화
  • 복호화 후 DONE: ~ 뒤에 나타나는 파일 경로 확인 (/var/tmp/clutch/~)
 
5) 복호화된 파일이 저장된 경로를 찾아가 실행 파일(보통 애플리케이션 명과 동일한 이름을 가지고 있으며 확장자가 존재하지 않음)을 [PC에 복사]




6) 분기문 조작
    (1) 분기문이 위치한 곳을 찾는다.
    (2) 분기문 변조 http://armconverter.com/
    (3) HxD로 해당 파일을 열어 분기문의 코드를 수정한다.

    

7) 변조한 파일을 저장 후, 해당 애플리케이션이 설치된 위치에 덮어쓰기

8) 앱 재실행 시 실행 가능 확인

<참고> 




+ Recent posts