실습/[Android Hacking 실습]
FridaLab 3번 문제 풀이
환석이
2023. 3. 25. 20:12
chall03()을 true로 바꿔라?라는 문제로 추측하고 들어가 보았다.
저번 문제를 경험 삼어 chall03함수를 금방 찾았다.
return이 false로 되어있는것을 확인되었다.
이것을 true로 바꾸면 될 꺼 같은 문제였다.
Frida문법에 대해서 서치해 보면서 앱에서 정의된 메서드의 구현 내용을 재작성하는 내용을 찾았다.
https://hwan2story.tistory.com/18
Frida 문법
1. Java.perform 현재 스레드가 가상머신에 연결되었는지 확인하고 function을 호출한다. Java.perform(function(){ }); 2. Java.use(ClassName) - 메소드 후킹 시 사용한다. - Method가 static으로 설정이 되어 있을 경우
hwan2story.tistory.com
문법 정리 글 중
myClass.myMethod.implementation = function(param){
//.implementation : 앱에서 정의된 매소드의 구현 내용을 재작성한다. }
라는 구문을 이용하면 될 꺼 같아서 chall02에서 틀만 바꿔보기로 생각했다.
setImmediate(function() {
Java.perform(function() {
var chall03 = Java.choose("uk.rossmarks.fridalab.MainActivity", {
onMatch: function(chall_03) {
chall_03.chall03.implementation=function(){
return true;
}
},
onComplete: function() {
console.log('good!!!');
}
});
});
});
frida -U -l "C:\Users\tjrgh\sekurity\android\chall03.js" FridaLab