프리다는 Ole가 개발한 DBI(Dynamic Binary Instrumentation)로, 실행중인 앱에 코드를 삽입하여 프로세스를 추적 및 분석, 디버깅을 할 수 있는 도구이다.프리다를 설치하기 전에 녹스 앱플레이어와 아나콘다가 설치되어 있다고 가정하겠다.아나콘다
프리다 CLI인 REPL(Read Evaluate Print Loop) 인터페이스로, 타겟 앱에 접근할 수 있게 한다. 녹스 앱플레이어에서 크롬을 실행 후 -U 옵션과 함께 크롬 패키지 명을 입력하여 명령어를 실행하면 크롬 프로세스에 접근여 디버깅 할 수 있다.위 캡처
현재 스레드가 가상머신에 연결되어 있는지 확인하고 function을 호출한다.변수와 메소드에 접근할 수 있는 클래스 객체를 반환한다. (인스턴스가 아닌 클래스 객체를 반환함에 주의한다.).implementation : 앱에 정의된 메소드를 재작성한다.스레드가 가상머신에
앞에서 배운 자바스크립트 API를 사용해 보겠다. 그 전에 프로세스에 자바스크립트를 삽입하기 위한 사전 작업이 필요한데, 아래 그 두 가지 방법이 있다.프리다가 프로세스에 스크립트를 인젝션하려면 앱이 실행되어야 한다. 녹스 앱플레이어에서 크롬을 실행시키고, frida
앞에서 크롬 앱에 접근한 후에 프리다 CLI에서 자바스크립트 API를 입력하여 실행하는 것을 알아보았다. CLI 환경에서 진행하다보면 오타가 발생하면 긴 코드를 작성하기 까다로울 때가 많다. 따라서 자바스크립트 코드 파일을 직접 생성하여 해당 파일을 로드하여 사용하는
처음에는 프리다 CLI를 통해 자바스크립트 코드를 앱 프로세스에 인젝션했지만, 이는 코드를 재활용하기 불편하여 자바스크립트 파일을 생성해서 이를 로드하여 인젝션하는 방법을 사용해보았다. 이번에는 파이썬 코드에 자바스크립트 코드를 삽입하여 프리다로 앱에 접근한 뒤 자바스
FridaLab은 프리다를 쉽게 연습할 수 있도록 Ross Marks가 만든 앱이다.총 8개의 문제로 구성되어 있는데, 지금까지 배웠던 자바스크립트 API를 프리다를 통해 앱 프로세스에 삽입하여 해결하면 된다.http://rossmarks.uk/blog/fri
루팅 탐지 우회하는 스크립트를 인젝션 해보기 위해 웹 보안기구인 OWSAP에서 배포하는 앱을 하나 다운로드 받아 설치할 것이다. 이 앱은 보안 공부를 위해 일부러 취약하게 만든 앱이다.https://github.com/OWASP/owasp-mstg/blob/m
https://github.com/as0ler/Android-Examples/blob/master/sieve.apk위 링크를 통해 sieve.apk 파일을 다운로드 받아 녹스 앱 플레이어에 설치한다. 이 앱은 처음 실행하면 패스워드를 설정하고, 그 후에는 PI
SSL Pinning 우회 SSL Pinning 이란? SSL Pinning은 클라이언트 측에서 사용하는 기법으로, SSL 통신에서 취약하다고 알려져 있는 중간자 공격을 방지할 수 있다. 클라이언트 측에 신뢰할 수 있는 인증서들을 저장하고, 이는 이후 실제 통신 과
프리다로 앱 후킹하려는데 다음과 같은 에러가 발생할 때가 있다.그 때는 adb shell로 기기에 shell에 접근하여 다음과 같은 명령어를 입력한다.susetprop persist.device_config.runtime_native.usap_pool_enabled f