본문 바로가기

4-1. 2025-2 심화 스터디/안드로이드

[2025.10.04] APP 2주차활동

참고강의: 프리다(Frida) 를 이용한 안드로이드 앱 모의해킹

https://inf.run/WqSJ9

 

프리다(Frida)를 이용한 안드로이드 앱 모의해킹| 보안프로젝트 - 인프런 강의

현재 평점 4.9점 수강생 747명인 강의를 만나보세요. 모의해킹 실무에서 활용되고 있는 프리다 (Frida)의 완벽 활용법을 배울 수 있습니다. 안드로이드보안, 취약점진단, 보안, 해킹, 모의해킹

www.inflearn.com

 

섹션4. 프리다 기본 문법 활용

섹션5. 프리다 CLI 활용

 


4. 프리다 기본 문법 활용

 

기본 뼈대 구조

Java.perform(fn) 현재 스레드의 가상머신과 연결 여부를 확인하고 fn호풀
Java.use(className) 변수와 메소드에 액세스 할 수 있는 클래스 객체를 반환
Java.enumerateLoadedClasses(callbacks) 힙에서 인스턴스화 된 객체 찾기
onMatch와 onComplete 콜백.

Java.choose(className, callbacks) 로드된 모든 클래스를 열거하고 모든 일치 항목을 출력 
onMatch : 일치하는것을찾으면호출
onComplete : 가능한일치(Match)를 모두마치면사용됨
setImmediate(fn) Process terminated 오류 해결
overload() 다음과 같은 경우에 overload() 제공

입력받는 인수가 없는 메소드
두개의 바이트 배열을 인수로 입력 받는 메소드
앱의 context와 Boolean 형태의 인수로 입력받는 메소드

*Java는 오버로딩이 존재하므로 매개변수 유형을 명시해야한다.

 

overload() 매개변수 

 

 

5. 프리다 CLI활용

 

프리다 CLI:프리다의 명령줄 도구 (Command Line Interface)

 

프로세스에 스크립트를 인젝션하기 위한 사전 작업

 

1. 애플리케이션 프로세스 실행 후 자바스크립트 삽입 

2. 애플리케이션 프로세스 실행 전 자바스크립트 삽입 

 

스크립트 인젝션을 위해 애플리케이션 시작. ( frida -U com.android.chrome)

-f옵션을 사용하여 프로세스를 스폰. ( frida -U –f com.android.chrome)

 

*프로세스를 Spawn 하면 일정 시간이 지난뒤 메인 쓰레드가 시작되지 않고 죽는 경우 발생

해결방법 :

1. frida -U -f [Process name] 이후 %resume

2. frida -U -f --no-pause [Process name]

 

명령어 입력 셀 획득

자바스크립트 API를 사용하여 프리다에 명령어 사용 가능하다

TAP:사용 가능 명령어 확인

안드로이드 참고 링크: https://www.frida.re/docs/javascript-api/#java

 

JavaScript API

Observe and reprogram running programs on Windows, macOS, GNU/Linux, iOS, watchOS, tvOS, Android, FreeBSD, and QNX

frida.re

 

안드로이드 버전 확인 : Java.androidVersion

'4-1. 2025-2 심화 스터디 > 안드로이드' 카테고리의 다른 글

[2025.09.27] APP 1주차활동  (0) 2025.09.28