보안 및 개발/MOBILE47 [iOS] Frida 사용자함수 hooking (바이너리의 코드 섹션 오프셋) + (수정하고자 하는 명령의 절대 주소 – 코드섹션의 시작 주소) 절대주소 = ida 주소 나머지 2개는 otool 이용 : otool -l ./Multi Section sectname __text segname __TEXT addr 0x00009680 #text segment start size 0x00574664 offset 22144 #offset align 2^4 (16) reloff 0 nreloc 0 flags 0x80000400 5904(Decimal) + (0x100001B7E(HEX) – 0x100001710(HEX)) = 0x1B7E // 사용자 함수 hooking 코드 //Example usage: //# frida -U -f 패키지명 -l user_f.. 2019. 10. 7. [iOS] Frida server 설치 에러 frida server를 설치하는 도중 다음과 같은 에러 발생 시, Failed to spawn: the connection is closed Failed to spawn: unable to connect to remote frida-server: Unable to connect (connection refused) 유사한 에러 링크 https://github.com/frida/frida-core/issues/99 https://github.com/frida/frida/issues/278 https://github.com/frida/frida/issues/375 다음과 같은 명령어 수행 mkdir -p /private/var/usr/lib mv /usr/lib/dic /private/var/usr/lib.. 2019. 10. 7. [iOS] Objective-C objective-c 스몰톡 언어의 객체지향적인 부분 + C언어 월등한 유연성 클래스 객체, 인스턴스 객체 (스몰톡에서는 클래스도 객체이기 때문에 클래스도 객체로 볼수 있음) @마크를 붙인 예약어를 사용하여 언어를 확장시킴 C++과는 다르게 단일 상속만 허용함, 클래스 이름은 유일해야하며, 내포클래스를 만들 수 없음 @interface : 클래스를 선언한 부분 @implementation : 미리 선언된 클래스를 정의한 부분 @end : 선언과 정의가 끝났음을 의미 @interface Sample : Object @interface 바로 뒤에는 선언할 클래스의 이름이 오게 되고 ":" 다음에 수퍼클래스가 명시됨 { ... } 사이에 있는 변수들이 인스턴스 변수가 됨 (C++의 멤버변수와 같음) 멤버변수들.. 2019. 10. 7. [iOS] frida hooking class 추출 frida -U -l classes.js PID classes.js for (var className in ObjC.classes) { if (ObjC.classes.hasOwnProperty(className)) { console.log(className); } } method 추출 frida -U -l methodofclass.js PID methodofclass.js console.log("[*] Started: Find All Methods of a Specific Class"); if (ObjC.available) { try { var className = "JailbreakDetectionVC"; var methods = eval('ObjC.classes.' + classNam.. 2019. 10. 7. [iOS] frida 환경 구성 진행환경 iphone5s (10.3.3) Mac os (windows 에서도 가능) frida를 이용해서 iOS 앱을 분석하기 위한 환경구성 1. pip 설치 sudo easy_install pip 위 명령어가 안된다면 다음 두줄 실행 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py sudo python get-pip.py 2. python3 설치 설치여부 확인 : python3 –version python3 설치 : https://www.python.org/downloads/mac-osx/ 에 접속하여 최신 버전 다운로드 및 설치 3. Mac에 frida 설치 pip3 install frida-tools pip에서 권한 오류 발생 시,$ /Applic.. 2019. 10. 7. 이전 1 ··· 5 6 7 8 다음 반응형