프리다 기능

옥영진·2020년 8월 23일
0

Frida

목록 보기
2/11

프리다 명령어

frida

프리다 CLI인 REPL(Read Evaluate Print Loop) 인터페이스로, 타겟 앱에 접근할 수 있게 한다. 녹스 앱플레이어에서 크롬을 실행 후 -U 옵션과 함께 크롬 패키지 명을 입력하여 명령어를 실행하면 크롬 프로세스에 접근여 디버깅 할 수 있다.

위 캡처 화면 상태에서 탭을 누르면 실행할 수 있는 명령어가 나온다.

frida-ps

안드로이드에서 실행 중인 프로세스 목록을 출력한다. -U 옵션을 통해 프로세스 목록을 호출 할 수 있고, -a 옵션을 더 붙이면 실행 중인 앱 목록만을 출력한다.

frida-ls-devices

프리다에 연결된 디바이스를 출력한다.

frida-trace

프리다가 프로세스의 특정 호출을 동적으로 추적한다. -i 옵션을 통해 크롬 앱에서 open API 함수가 호출 될 때마다 로그를 출력하도록 한다.

핸들러라고 하는 게 open.js 라는 파일로 생성되었다고 출력되었다. 해당 파일을 열어보았다.

open 함수가 호출 될 때마다 로그를 출력하도록 되어 있음을 알 수 있다. 함수가 호출 될 때 인자로 전달되는 값을 확인해보자.

리눅스 open 함수에서 첫번째로 전달되는 인자 값은 pathname 임을 알 수 있고, 이를 frida API 함수인 Memory.readUtf8String 를 호출하여 메모리 주소값을 실제 경로명으로 변경하여 출력해보자. 참고로 frida API 함수에 관련된 내용은

https://frida.re/docs/javascript-api/

이 링크에서 확인할 수 있다.

크롬 앱에서 open 함수가 호출 될 때마다 어떤 경로에서 호출하는 지 로그가 출력되는 것을 알 수 있다.

frida-kill

특정 프로세스를 종료한다. 크롬 앱의 PID를 확인하여 이를 종료시켜보자.

profile
안녕하세요 함께 공부합시다

0개의 댓글