상세 컨텐츠

본문 제목

[mobile]frida script 기본설명(2) : frida API

기술보안/Mobile:Android

by about_SC 2019. 12. 27. 17:49

본문

[mobile]frida script 기본설명(2) : frida API

 

- Java.choose(className, callbacks)

Java.perform(function() {
  Java.choose(com.mypackage.name.class,
  {
    "onMatch" : function(instance){
      console.log(instance.toString())
    },
    "onComplete":function() {}
  })

})

: 힙에서 인스턴스화 된 객체 찾기 가능
: callbacks : onMatch, onComplete
  -onMatch : 실시간으로 인스턴스에 대해 호출
  -onComplete : function()의 모든 인스턴스가 열거될 때 호출

 

- Java.enumerateLoadedClasses(className, callbacks)

Java.perform(function() {
  Java.enumerateLoadedClasses(
  {
    "onMatch" : function(className) {
      console.log(className)
    },
    "onComplete":function() {}
  })

})

: 로드된 모든 클래스를 열거하고 모든 일치 항목을 출력
  -onMatch : 일치하는 것을 찾으면 호출
  -onComplete : 가능한 일치(Match)를 모두 마치면 사용됨

 

- Java.setImmediate(fn)

setImmediate(function() { //prevent timeout
  console.log("[*] Starting script");

  Java.perform(function() {
    myClass = Java.use("com.package.name.class.name");
    myClass.implementation = function(v) {

  }

})})

: 프리다는 단말기가 느려질 때 자동으로 프로세스를 종료하는 특성이 있다.
이러한 경우를 방지하기 위해서 setImmediate()를 사용한다.
이를 사용하게되면, 백그라운드로 자동으로 스크립트가 재실행되어 종료되지 않는다.

관련글 더보기