해킹공주의 일상
[Frida] Java.use 와 Java.choose 차이점 본문
1. Java.use
: static 변수 및 메소드는 프로그램 실행 시 메모리에 자동으로 올라오므로 인스턴스를 생성해서 호출할 필요가 없다. 이때는 Java.use 를 사용해서 후킹한다.
- 다음 코드는 위 코드에서 chall07 값을 변조하는 코드이다.
Java.perform(function() {
var chall_07 = Java.use("uk.rossmarks.fridalab.challenge_07");
chall_07.chall07.value=1;
chall_07.check07Pin.overload("java.lang.String").implementation = function(){
var retval = this.check07Pin.call(this);
console.log("ret :" + retval)
// do something
}
});
2. Java.choose
: static 변수가 아닐 때에는 인스턴스를 생성한 후에 호출해야한다. 이때는 Java.choose를 사용해서 후킹한다.
- 다음 코드는 위 코드에서 chall03 함수를 실행하는 코드이다.
Java.perform(function() {
var Main;
Java.choose("uk.rossmarks.fridalab.MainActivity",
{
onMatch:function(instance){
main=instance;
main.chall03();
},
onComplete:function(){
}
});
});
'모의해킹 > MOBILE' 카테고리의 다른 글
안드로이드 Nox 프록시(BurpSuite) 환경 구성하기 (0) | 2023.02.13 |
---|---|
[Fridump] Fridump IOS 앱 복호화 추출하기 (0) | 2022.12.05 |
[Frida] Frida-trace 사용해보기 (feat.open 함수) (0) | 2022.11.17 |
Android APP 가장 첫번째로 실행되는 Activity 찾기 (0) | 2022.11.16 |
[Frida] Nox에 Frida 설치 (0) | 2022.11.16 |
Comments