실습/[Android Hacking 실습]

FridaLab 3번 문제 풀이

환석이 2023. 3. 25. 20:12

chall03()을 true로 바꿔라?라는 문제로 추측하고 들어가 보았다. 

 

mainActivity

저번 문제를 경험 삼어 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

! !