- Java.perform(fn)
- Java.use(ClassName)
- Java.enumerateLoadedClasses(callbacks)
- Java.choose(ClassName, callbacks)
- setImmediate(fn)
- Overloading
1. Java.perform(fn)
:현재 스레드가 가상 머신에 연결되어 있는지 확인하고 fn을 호출
2. Java.use(className)
: Java.use()는 변수와 메소드에 액세스 할 수 있는 클래스 객체를 반환
: 메소드 구현을 변경하려면 새로운 메소드로 덮어 써야함
: 주의! 인스턴스를 반환하는 것이 아닌 클래스 객체를 반환함.
***지정한 클래스를 사용!!***
:앱에서 사용하는 클래스와 연동되는 myClass를 정의
: .implementation : 앱에서 정의된 메소드의 구현 내용을 재작성
3. Java.choose(className, callbacks)
: 힙에서 인스턴스화 된 객체 찾기 가능
: callbacks : onMatch, onComplete
: onMatch : 실시간으로 인스턴스에 대해 호출
: onComplete : function() 의 모든 인스턴스가 열거될 때 호출
4. Java.enumerateLoadedClasses(callbacks)
:로드된 모든 클래스를 열거하고 모든 일치 항목을 출력
-> onMatch : 일치하는 것을 찾으면 호출
-> onComplete : 가능한 일치(Match)를 모두 마치면 사용됨.
5. setImmediate(fn)
:Process terminated 오류 해결하기
6. overload()
-입력받는 인수가 없는 메소드
-두 개의 바이트 배열을 인수로 입력 받는 메소드
-앱의 context와 bolean 형태의 인수로 입력받는 메소드
이 세가지의 경우에 overload() 를 이용
'모바일 해킹 > frida' 카테고리의 다른 글
fridalab challenge writeup! - 3번, 4번 (0) | 2021.12.05 |
---|---|
fridalab challenge writeup! - 1번, 2번 (0) | 2021.12.05 |
frida 기초 (0) | 2021.11.28 |
Frida 환경 구축 (0) | 2021.11.28 |