개요
모바일 진단 시 대상 앱의 보안 탐지 코드를 우회하기 위해 Frida(이하 프리다)를 자주 애용한다. 그런데 프리다를 사용하다 보면 몇몇 알 수 없는 오류가 발생해서 시간을 소비하는 경우가 종종 있는데 그 중에서도 Spawn 방식으로 프리다를 실행할 때 발생하는 대표적인 오류 2가지에 대해 해결 방법을 기술하고자 한다.
에러 이슈
프리다를 Spawn 방식으로 실행 시 발생하는 대표적인 두 가지 오류는 아래와 같다.
- unexpectedly timed out while waiting for app to launch
- unexpectedly timed out while waiting for signal from process with Pid
- Error: VM::AttachCurrentThread failed: -1
원인 및 해결 방법
해당 오류가 발생하는 이유는 "USAP"으로 안드로이드 OS 10.0 이상 버전에서 포함된 기능이며, 앱 실행 속도를 높이기 위해 사용된다. 다만, 일부 삼성 스마트폰에서 해당 옵션이 활성화 된 상태에서 프리다를 실행한 경우 오류가 발생한다. 따라서, 해당 옵션을 비활성화 해주면 된다.
옵셩을 비활성화 하는 방법은 ADB 원격 셸에 접근 후 아래의 명령어를 입력해주면 된다.
setprop persist.device_config.runtime_native.usap_pool_enabled false
'안드로이드 기타 > Frida' 카테고리의 다른 글
Frida 백트레이스를 활용한 함수 호출 지점 찾기 (0) | 2023.08.18 |
---|---|
Frida로 네이티브 코드(C/C++) 변수(레지스터) 값 변조하는 방법 (0) | 2023.07.28 |
Frida 서버 포트 번호를 변경해서 실행하는 방법 (0) | 2023.07.24 |
Frida 메모리(Memory) 모듈 정리 (0) | 2023.07.12 |