[mobile]frida script 기본설명(3) : overload
자바의 오버로딩을 들어봤을 것이다.
이는 하나의 클래스에서 동일한 이름을 가진 메소드가 존재하는 것을 의미한다.
대신에 각각 인자의 개수나 타입이 달라야 한다.
위에서 언급한바와 같이 하나의 클래스에서 동일한 이름을 가진 메소드에 접근하여 메소드 재작성 시
아래와 같이 overload를 이용하여 함수를 재작성 해줄 수 있다.
Case 1) 입력받는 인수가 없는 경우
myClass.myMethod.overload().implementation = function() {
} |
Case 2) 두 개의 바이트 배열을 인수로 입력 받는 메소드
myClass.myMethod.overload("[B", "[B").implementation = function(param1, param2) {
} |
Case 3) 앱의 context와 Boolean 형태의 인수로 입력받는 메소드
myClass.myMethod.overload("android.context.Context", "boolean").implementation = function(param1, param2) {
} |
+참고
overload() 매개변수 카테고리
.overload() .overload('int’) .overload('boolean') .overload('float') .overload('[B') // byte array .overload('[B', '[B', '[B') .overload('java.io.File') .overload('java.lang.String') .overload('android.view.View') .overload('android.app.Activity') .overload('android.content.Context') .overload('android.content.Context', 'java.lang.String') .overload('java.lang.String', 'java.lang.String') .overload('android.graphics.Bitmap') .overload('java.util.List’) .overload('android.content.Context', 'java.lang.String', 'java.lang.String') .overload('android.app.Activity', 'int', 'int', 'int', 'boolean') |
이전 포스팅에 이어서 아래와 같이 Frida API와 Overloading에 대해 알아보았다.
-Java.perform(fn)
-Java.use(className)
-Java.enumerateLoadedClasses(callbacks)
-Java.choose(className, callbacks)
-setImmediate(fn)
-Overloading
그 외에 Frida의 자바스크립트 API가 궁금하다면 프리다 공식홈페이지를 참조하자.
https://frida.re/docs/javascript-api/#java
[mobile]frida script file load 방법(1) (0) | 2019.12.27 |
---|---|
[mobile]frida CLI 스크립트 사용방법(2) (0) | 2019.12.27 |
[mobile]frida script 기본설명(2) : frida API (0) | 2019.12.27 |
[mobile]frida CLI 스크립트 사용방법(1) (0) | 2019.12.27 |
[mobile]frida script 기본설명(1) : frida API (0) | 2019.12.27 |