동적 분석을 계획하게 된 것은 Mi Fit 어플이나 커스텀 롬을 지원하는 어플이 루팅 탐지 로직이 없었기 때문이다.

( 루팅 탐지 로직이 있었다면 리 패키징이 어렵게 되어있는 아이들과 싸워야 했다.. )

 

1차 시도. Nox Player + Frida

Nox Player을 통해 할 예정이었는데 문제가 생겼다.

Nox Player에서 블루투스 연결을 지원하지 않았던 것 ...!

대안 책을 찾아봐도 대부분의 앱플레이어가 블루투스를 지원하지 않았다.

 

2차 시도. Android X86

vmware를 활용하여 android x86을 구동시키면 블루투스 연결이 가능하다.

그래서 아 끝났다 생각했는데 제일 중요한 문제가 생겼다.

Mi Fit 어플이 x86이 지원 대상에 없어 어플 설치가 불가능했다.

그렇게 arm이 되는 android emulating 방법을 찾아 구글링을 떠났다.

 

3차 시도. Android AVD ( qemu )

좀 찾아보니 qemu를 활용하여 arm emulating을 해주는 avd를 구글이 개발해두었다.

그래서 아 끝났다 하고 활용해야지 했는데 램 16기가라 램이 부족하지는 않았을 터인데 그냥 동작이 안된다....

최신 개발된 것은 그냥 이미지가 안 뜨고 구버전은 안드로이드 부팅 화면에서 계속 넘어가지 않다가 time out 에러가 유발되었다.... 

무언가 잘못되었다....

이 때 부터 답은 루팅이 가능한 공기계를 사는 것이다 라는 생각을 했다.

( 어플이 리패키징이 어려운 이상 Frida 구동을 위해선 루팅이 필요하다 )

 

4차 시도. Android Native Bridge

https://gigglehd.com/gg/game/9105263

 

Android x86 마시멜로에서 모바일 게임 돌리기 - 게임 / 엔터테인먼트 - 기글하드웨어

VMWare에 Android x86을 설치하면서 겪은 삽질(...)을 공유하고자 합니다.   (수정) 롤리팝이 아니라 마시멜로여서 수정합니다.     1. Android x86은 누구에게 필요한가?   - 채굴이슈 등 다양한 이유로

gigglehd.com

좀 더 서치해보다가 이런 글을 보게되었다.

그래서 어 저거다 저건 진짜 된다 하고 시도 해보았다.

osboxes.org에서 제공하는 android9 , android8 가상 머신 파일에 저 방법을 적용하는 식으로 하였는데 왠지 모르게 계속 system ui가 크래시가 나서 정상적인 진행이 불가능 했다...

 

그래서 결국 공기계를 사기로 결정했다.

 

결론. 공기계

공기계의 조건은 다음과 같았다.

Mi Fit이 설치될 수 있는 최소 사양 ( android 8 이상 )

루팅이 가능할 것

블루투스 작동에 문제가 없을 것

 

이 세 가지의 서브 폰으로 쓸 욕심도 좀 첨가해서 C 타입으로 충전될 것 해서 당근을 좀 뒤져보다가

홍미노트 7을 발견하고 바로 거래하였다.

... 이쁘다

 

이제 이 폰을 루팅해서 프리다를 설치하고 adb over network를 통해 연결하는 시도를 할 예정이다.

 

+ 07.26 02:33 추가

 루팅이 가능할 것...

사실 예전에 갤럭시 s2 커스텀롬 가지고 놀던 시절의 기억으로 miui 롬 자체가 루팅이 되어있어서 

아 루팅이 되어있거나 할래도 쉽겠지란 막연한 생각으로 구매한 것이였는데

두둥! 부트로더 언락없이는 루팅이 불가능합니다....

부트로더 언락을 위해 sim카드를 사고 ( 본 유심으로 하기엔 좀 아직 신뢰가 부족하다 )

개통 예약까지 했다...

근데...

... 9시에 봅시다

 

+ 07.26 17:56 추가

 개통 예약은 주말 예약이 밀려서 인지 예정시간에도 처리되지 않았고 고객센터는 아주 바쁜지 전화를 받질 않았다 ㅠ

그래서 결국 개통 취소하고 다시 바로 개통하니 바로 처리되더라

아무튼 usim 개통과 동시에 부트로더 언락을 진행했는데 블로그 들에서 겁주는 것과 다르게 홍미 노트7이 이제 구 기기라 그런지 바로 언락이 진행되었다.

근데 내가 못 인지한 사실이 하나 있었다. 부트로더 언락이 진행되면 공장초기화가 되어버리는 것...!

애써 어플 다 깔고 설정해놨더니 다시 설정하게 되었다.

일단 TWRP 리커버리를 깔고 magisk라는 롬으로 루팅을 하려고 했는데....

뭔가 이미지 버전이 안맞다면서 거절 당했다.

그래서 더 쎄게 나가서 리니지 커널을 fastboot으로 flash 하고 리커버리 모드에서 공장초기화 후 리니지 롬 ( + gapps, super su ) 를 깔아버리니 rooted adb debugging 환경 까지 조성되었다.

 

여담이지만 KT 무약정 플랜에 의도적인 QoS가 있는지는 몰라도 원래 쓰던 데이터 속도보다 의심스럽게 느린 것 같다.

안그래도 속도 이슈 있던 KT인데 그냥 기분 탓이였으면 좋겠다.

 

frida-server을 설치 후 usb 연결을 통해 후킹 성공을 확인하였다.

super su가 안나와서 루팅된건지 긴가민가 했는데 kt 멤버쉽이 루팅 탐지 하는 것으로 보아 루팅은 잘 된 것 같다.

 

참 힘든 여정이였다.

근데... 젤 놀라운건 아직도 미 밴드 배달이 안 왔다는 것

아니 토요일에 제주에 도착했는데 오전 배달정도는 해줄 수 있잖아요 ㅠㅠ...

안타깝다.

'project' 카테고리의 다른 글

[Mi Band 분석]<1일차> 계획  (0) 2021.07.26

미 밴드가 내일 온다 ...!

오늘은 동석 분석 준비를 위해 환경을 조성하려고 한다.

 

1. frida로 동적 분석이 가능한 환경 조성

'project' 카테고리의 다른 글

[Mi Band 분석]<1일차> 상황  (0) 2021.07.26

+ Recent posts