[분석환경]
OSX, Android Emulator API 33
이 글은 안드로이드 모의해킹 카테고리 중 트러블슈팅을 위한 글입니다.
문제 1. Read only filesystem
해결 1.
adb 내에서 다음 절차를 진행한다. 전체 파일 시스템을 읽기쓰기 가능한 모드로 리마운트 시켜준다.
mount -o rw,remount /
문제 2. '/dev/block/dm-4' is read-only
해결 2-1.
에뮬레이터 환경에서 실제 기기와 다른 경로에 파일시스템이 마운트되어 있는 경우 위와 같은 에러가 발생한다.
> adb root
> adb shell avbctl disable-verification
Successfully disabled verification. Reboot the device for changes to take effect.
> adb disable-verity
using overlayfs
Successfully disabled verity
Now reboot your device for settings to take effect
> adb reboot
> adb root && adb remount
remount succeeded
> adb push ScreenCap.apk /system/app/
ScreenCap.apk: 1 file pushed. 33.1 MB/s (1640812 bytes in 0.047s)
> adb reboot
해결 2-2.
해결이 되지 않는다면 AVD(안드로이드 가상 머신)을 명령행 도구로 쓰기 가능한 모드로 실행시켜야 한다.
먼저 명령어만 따라할 경우 다음과 같이 진행한다.
> emulator -avd Pixel_3a_XL_API_30 -writable-system
> adb shell avbctl disable-verification
> adb disable-verity
> adb root
> adb remount
> adb shell "su 0 mount -o rw,remount /system"
부가설명은 다음과 같다.
emulator를 실행하기 위해 환경변수 등록이 필요하다. 실행중인 쉘에서 입력해도 되고, 쉘 설정파일(.bashrc, .zshrc)에 다음과 같이 작성한다. 입력한 후에는 쉘을 재시작하면 적용된다.
$ANDROID_HOME 내에는 두 개의 emulator 바이너리가 있으므로 환경변수 순서를 잘 구분해야 한다.
export ANDROID_HOME="/Users/{USER}/Library/Android/sdk"
export PATH=$PATH:$ANDROID_HOME/platform-tools/
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
Android Studio에서 생성한 에뮬레이터는 ./android/avd 경로에 위치한다. 이 경로로 이동한다.
cd ./android/avd
에뮬레이터 목록을 확인하고 쓰기가능한 모드로 실행한다.
emulator -list-avds
emulator -avd [생성한 에뮬레이터] -writable-system
참고
반응형
'Security > Mobile' 카테고리의 다른 글
[안드로이드 모의해킹] Activity 강제 실행 취약점 (0) | 2023.04.12 |
---|---|
[안드로이드 모의해킹] Activity Lifecycle 분석 (0) | 2023.03.29 |
[안드로이드 모의해킹] AndroidManifest.xml 분석하기 (0) | 2023.03.22 |
[안드로이드 모의해킹] APK 파일 정적분석 및 APK Studio 설정 (2) | 2023.03.18 |
[안드로이드 모의해킹] 안드로이드 운영체제 개요 (0) | 2023.02.25 |