안드로이드 Magisk 루팅 방법(갤럭시 S7)
https://m.blog.naver.com/timeless947/221927525919

TWRP (모드 진입 : 갤럭시 S7 기준으로 볼륨'상'키+전원키+가운데키)
https://dl.twrp.me/herolte/


안드로이드 순정 펌웨어 다운로드를 위한 samfirm (갤럭시 S7)
https://rgy0409.tistory.com/4509
https://rgy0409.tistory.com/3510
https://hackcatml.tistory.com/93

> samfirm 프로그램 막혔음
https://hackcatml.tistory.com/93
https://samfw.com/firmware/SM-G930K/KTC/G930KKKU3EVG2

삼성 오딘3(Odin) 사용하여 스마트폰 복원 방법
https://seo-security.tistory.com/35

 

[Android] 안드로이드 루팅 & 순정 펌웨어 복구

1. 안드로이드 루팅하기 루팅은 Android 운영 체제에 대한 관리 액세스 권한을 얻는 프로세스로, 이를 통해 사용자는 제조업체에서 일반적으로 허용하는 것 이상으로 장치의 소프트웨어를 수정할

seo-security.tistory.com

 

 

※ 안드로이드 순정 설치할 시 주의할 점※

1. 오딘3 버전에 따라서 결과(성공, 실패)가 다를 수 있음. 현재 나는 v3.13버전 사용중.

이전 버전 사용하니, 순정 설치 실패함

 

2. 순정을 설치하고, 폰을 재부팅할 때, 리커버리 모드에 진입하여

>> Wipe data/facroty reset - yes을 무조건 먼저하고 나서, Reboot system now를 진행해야 한다.

(안 그러면 무한 로딩 걸릴지도..)

 

 

 

 

 

 

'Study > Mobile' 카테고리의 다른 글

Android - 리패키징  (0) 2023.10.06
Android - Frida 후킹  (2) 2023.10.06
Android 취약점 진단 시 참고  (0) 2022.11.29
Android - adb 메모리 덤프  (0) 2022.11.29

1. 먼저 컴파일, 디컴파일 등에 필요한 프로그램 설치가 먼저다

1) ApkStudio : APK 파일 변조 및 리패키징, 설치 등등 
2) APKToolGUI : APK > 디컴파일 (그 전에 JAVA 등 설치과정이 필요한데 프로그램에서 알려주는 데로 하면 됨)
3) jadx-gui : APK > 자바 소스코드


2. 이번에 할 방법은 [디컴파일 도구]를 통해 앱 분석 후, 루팅 탐지 함수를 확인하고 / [컴파일 도구]를 이용해 디스어셈블러화하여 루팅 탐지 함수의 코드를 항상 false 되게 변조하고 / 다시 [리패키징 및 sign 과정]을 거쳐 install을 할 예정

- 디컴파일 도구인 "jadx-gui"를 이용해 앱 분석 
(ctrl+shift+F로 텍스트 검색을 많이 활용한다)

- 루팅 탐지 함수를 찾았다면 해당 함수의 경로 및 이름 확인

- 컴파일 도구인 "ApkStudio"를 이용하여 함수(smali파일) 찾고 코드 변조 진행

- 리패키징: "Project - Build" 클릭 후 dist 폴더 생성 및 apk 파일 생성 확인
- Sign : 생성된 apk 파일 클릭한 상태에서 "Project - Sign/Export"
https://mkkbest.tistory.com/entry/%EC%9E%90%EB%B0%94-keytool-%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EC%83%9D%EC%84%B1

Java의 keytool.exe 있는 위치 찾아서 (일반적으로 Java/jdk/bin/keytool.exe)
cmd> keytool -genkey -v -keystore yr.keystore -alias yr -keyalg RSA -keysize 2048 -validity 3650
개인 인증서 생성 후 Sign 진행
(암호는 입력해야 제대로 앱이 리패키징 됨)

- Install : "Project - Install" 클릭 시 안드로이드 기기에 설치 완료됨
(안되면 https://info-lab.tistory.com/122 여기서 adb install 방법 확인) 

'Study > Mobile' 카테고리의 다른 글

안드로이드 - 루팅 & 순정 복구  (1) 2023.11.14
Android - Frida 후킹  (2) 2023.10.06
Android 취약점 진단 시 참고  (0) 2022.11.29
Android - adb 메모리 덤프  (0) 2022.11.29

1. Windows에 Frida 설치
cmd> pip install frida
cmd> pip install frida-tools

2. 프리다 버전 확인
cmd> frida --version

3. 안드로이드 기기에 frida server 설치 및 구동
https://github.com/frida/frida/releases
- 여기서 "아까 확인했던 frida 버전"과 "안드로이드 기기에 맞는 버전"을 다운로드 받기

+) "안드로이드 기기 버전 확인"
cmd> adb shell getprop | find "cpu"
결과예시> [ro.product.cpu.abi]: [arm64-v8a]
....
여기서 확인해야할 것은 cpu.abi >> "arm64"를 기억하자

- 다운로드(xz 파일) 받은 후 압축해제

- 안드로이드 기기에 파일 넣어주기
cmd> adb push [압축해제파일명] /data/local/tmp
cmd> adb shell
$ su  (root 계정으로 권한상승)
# cd /data/local/tmp (넣은 파일 있는 곳으로 이동)
# ls (넣은 파일 있는지 확인)
# chmod 755 [압축해제파일명] (실행권한 부여)
# ./frida-server-16.1.3-android-arm64 & (백그라운드&에서 frida-server 구동)

※ 만약, 'Unable to start : Error binding to address 127.0.0.1:27042: Address already in use' 에러가 떴다면, frida-server가 이미 돌아가고 있다는 뜻이기 때문에 프로세스 종료 후 다시 구동시켜줘야 한다

# ps -ef | grep frida (frida라는 텍스트 들어간 프로세스id 확인)
# kill -9 [pid] (프로세스 강제 종료)
# ./frida-server-16.1.3-android-arm64 & (백그라운드&에서 frida-server 다시 구동)

4. 설치된 APK의 [패키지명] 확인
cmd> frida-ps -Uai (결과에서 Identifier를 보면 된다)
결과예시 >
  PID  Name             Identifier
-----  ---------------  ---------------------------------------
23384  Gmail            com.google.android.gm
15319  Google           com.google.android.googlequicksearchbox
21709  Google Play 스토어  com.android.vending
...

5. Frida 후킹 시작
cmd> frida -U -f [패키지명] -l [후킹파일명.js]
명령예시> frida -U -f com.google.android.gm -l hooking.js

 

후킹파일 예시)

Java.perform(function(){
	var obj = Java.use('q5.b');
	obj.n.overload().implementation = function(){
		console.log('[+] 루팅 완료');
		return false;
	}
});

'Study > Mobile' 카테고리의 다른 글

안드로이드 - 루팅 & 순정 복구  (1) 2023.11.14
Android - 리패키징  (0) 2023.10.06
Android 취약점 진단 시 참고  (0) 2022.11.29
Android - adb 메모리 덤프  (0) 2022.11.29

https://jdh5202.tistory.com/916

 

'Study > Mobile' 카테고리의 다른 글

안드로이드 - 루팅 & 순정 복구  (1) 2023.11.14
Android - 리패키징  (0) 2023.10.06
Android - Frida 후킹  (2) 2023.10.06
Android - adb 메모리 덤프  (0) 2022.11.29

AndroidManifest.xml의 android:debuggable="true"일때

1. adb shell 접속
cmd >> adb shell
adb >> su

2. PID 확인
adb >> ps | grep "앱이름"

3. dumpheap을 이용한 메모리 덤프
adb >> am dumpheap PID /data/local/tmp/test.hprof
adb >> cm /data/local/tmp
adb >> chmod 777 test.hprof
adb >> strings test.hprof > test.txt

4. 덤프파일 PC로 가져오기
cmd >> adb pull /data/local/tmp/test.txt C:\Users\admin\Desktop

'Study > Mobile' 카테고리의 다른 글

안드로이드 - 루팅 & 순정 복구  (1) 2023.11.14
Android - 리패키징  (0) 2023.10.06
Android - Frida 후킹  (2) 2023.10.06
Android 취약점 진단 시 참고  (0) 2022.11.29

+ Recent posts