1. Requirement
chall03 메소드에서 True를 반환할 것
* 현재는 0 값을 반환하고 있음
2. Write UP
반환값을 수정해야 하는 메소드는 MainActivity 안에 있으며,
해당 메소드는 Java.use와 Java.choose 함수 모두 가능하다.
2.1. Frida 스크립트로 실행
2.1.1. Java.use
Java.perform(function ( ) {
console .log("[*]Starting Script!" );
var main;
main = Java.use('uk.rossmarks.fridalab.MainActivity' );
main.chall03.implementation = function ( ) {
console .log('\n[*]Solved Challenge 3!!!!' );
return true ;
}
});
프리다 실행 명령어를 통하여 스크립스 실행 : Frida -U -l Lab3_1.js uk.rossmarks.fridalab
2.1.2. Java.choose
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('[*]Callback functions are called!!!!' );
}
});
main.chall03.overload().implementation = function ( ) {
console .log('\n[*]Solved Challenge 3!!!!' );
return true ;
}
});
프리다 실행 명령어를 통하여 스크립스 실행 : Frida -U -l Lab3.js uk.rossmarks.fridalab
2.2. Python 스크립트로 실행
2.2.1. Java.use
//Lab3.py
import frida
import sys
jscode = """
Java.perform(function(){ console.log("[*]Starting Script!");
var main; main = Java.use('uk.rossmarks.fridalab.MainActivity');
main.chall03.implementation = function () {
console.log('[*]Solved Challenge 3!!!!'); return true;
}
});
"""
process = frida.get_usb_device(1 ).attach('uk.rossmarks.fridalab' )
script = process.create_script(jscode)
script.load()
print ("Please Press Check!!" )
input ()
Python 실행 명령어를 통하여 스크립스 실행 : python Lab3.py
2.2.2. Java.choose
//Lab3_1.py
import frida
import sys
jscode = """
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('[*]Callback functions are called!!!!');
}
});
main.chall03.overload().implementation = function () {
console.log('[*]Solved Challenge!!!!');
return true;
}
});
"""
process = frida.get_usb_device(1 ).attach('uk.rossmarks.fridalab' )
script = process.create_script(jscode)
script.load()
print ("Please Press Check!!" )
input ()
Python 실행 명령어를 통하여 스크립스 실행 : python Lab3_1.py