1. Requirement

chall02 메소드를 실행할 것

* 강제로 사용하지 않는 메소드(chall02)를 실행

 

2. Write UP

강제로 실행해야 하는 메소드는 MainActivity 안에 있으며,

해당 메소드는 Static 메소드가 아니라, Instance 메소드이다.

이와 같이 인스턴스화된 객체를 다루기 위해선 Java.use 함수가 아니라 Java.choose 함수가 사용되어야 한다.   


import frida

jscode = """

setImmediate(function(){    
    Java.perform(function(){
        console.log("Starting Script!");
        var main;
        Java.choose('uk.rossmarks.fridalab.MainActivity', {
        onMatch : function(instance){
            main = instance;
            console.log("Instance Matched!!");
            }, 
        onComplete : function(){
            console.log('Solved Challenge!!!!');
            }        
        });
        main.chall02();
    });
});
"""

process = frida.get_usb_device(1).attach('uk.rossmarks.fridalab')
script = process.create_script(jscode)
script.load()

 

'Android' 카테고리의 다른 글

FridaLab_frida challenge 3 풀이  (0) 2020.10.27
Frida 문법  (0) 2020.10.24
APK 서명(인증서 생성 및 서명)  (0) 2020.10.03
Toast 팝업 Smali 코드  (0) 2020.10.03
Ubuntu에 APMSetup 설치  (0) 2015.03.04
Posted by 워니후니빠
,