안드로이드 모바일 진단 도구 리스트
- APK manager : decompile - smali 변조 - compile - sign apk - install apk 이 일련의 과정을 수행하기 위한 packing 도구
- JEB : 사용자가 보기 편하게 decompile 후 구조화 및 java 코드로 보여주는 도구 (IOS에서 IDA같은.. 그러나 IDA보다 뒤떨어지는..)
- Frida : 메모리 dump 뜨는 도구
fridump
덤프 뜰 때는 루팅된 폰으로 진행
계속 timeout 이 뜰 수 있는데, 이럴 때는 다시 종료하고 앱을 재실행한다.
dump 뜰 때는 앱이 실행중인 상태에서 메모리를 dump뜨는 것이므로 앱이 메모리 위에 올라가야 한다 = 실행 중
그외에도
정적 분석
- ADB : 안드로이드 <> PC 간 통신 도구
- apktool : apk 파일 디컴파일해서 소스코드 추출, 소스코드 수정 가능
- dex2jar : dex file을 java byte code 로 바꾸는 역할
- jd-gui : jar 파일을 사용자가 보기 편하게 도와주는 도구
모바일 진단 프로세스
1. 단말기에서 APK Extractor로 실제 플레이스토어에서 다운로드 받은 앱을 추출한다.
*APK Extractor는 안드로이드 기기에 저장된 앱을 SD카드에 APK형태로 만드는 도구
2. 단말기를 PC와 연결해서 파일 탐색기 > ExtractedApks 폴더에 들어가서 추출된 앱(apk로 압축된 파일)을 확인한다.
3. 기존에 실제 플레이 스토어에서 다운로드 받은 거 지우기
4. ExtractedApks 폴더 내에 .apk 파일이 있으니 이거를 APK Manager를 이용해서 decompile을 진행해 압축이 풀어진 폴더 형식으로 만든다.
5. place-apk-here-for-modding 폴더에 추출했던 .apk 파일을 집어 넣기
6. manager 실행 후 22번 set project 해서 apk 선택 후 (뭐를 작업할 것인지 선택)
7. 9번으로 decompile진행
8. 그러면 해제된 apk 파일이 projects 에 존재함
9. 압축해제된 파일 내에 smali 파일들이 있다. 이제 smali 변조하면 된다!
10. jeb.exe 실행 후 해당 해제된, project 내에 존재하는 해제된 apk 폴더를 열기
11. Bytecode 클릭하면 내부 구조를 user가 보기 쉽게 도식화해주고, 코드보고 smali 변조
모바일 루팅 우회
1. 일차적으로 직관적이게 string으로 분기점 찾기
- string.xml, public.xml로 분기점 찾기
IDA처럼 안드로이드는 string 검사를 할 수 없어서 일일히 코드를 확인해보면서 일차적으로 찾아야 한다.
- 해당 apk 압축 해제한 폴더 > res > value 경로로 들어가면 string.xml과 public.xml를 찾을 수 있다.
- 예를 들어
<string name="test03">루팅된 장비입니다.</string> 이런식으로 string은 찾을 수 있다. 그러면 해당 string 이름에 있는 "test03"의 위치로 다시 찾으러 가야한다. public.xml에서 "test03"를 검색해보면 hex값으로 된 id를 찾을 수 있다.
<public type="string" name="test03" id="0x7f000000" />
해당 id 값을 가지고 astrogrep을 이용해 위치를 찾아야한다. 또는 파일 탐색기로 smali를 찍고 검색
*but 검색해도 안 나올 수 있음..
- 파일 탐색기로 해당 위치로 이동해 분기점을 찾았다면 Notepad와 같은 editor로 수정 후 다시 ApkManager로 다시 apk파일로 packing
- 루팅된 단말기에 설치
2. string 검색으로 안되면 일일히 JEB 도구에서 함수를 따라가면서 check, auth, root 등과 같은 함수명으로 유추해서 찾을 것
*호출하고 있는 함수 찾기 : 키보드 x 키
*만약 호출하고 있는 함수가 없다면 안 쓰고 있는 함수임.
3. 루팅 우회에는 분기 명령어가 정해져있음
if-eqz <> if-nez
if-lt <> if-le
if-ge <> if-gt
'Mobile > Android' 카테고리의 다른 글
ADB를 이용한 안드로이드 apk 앱 추출 (0) | 2023.06.08 |
---|