1. Requirement
chall03 메소드에서 True를 반환할 것
* 현재는 0 값을 반환하고 있음
2. Write UP
반환값을 수정해야 하는 메소드는 MainActivity 안에 있으며,
해당 메소드는 Java.use와 Java.choose 함수 모두 가능하다.
2.1. Frida 스크립트로 실행
2.1.1. Java.use
//Lab3_1.js
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
//Lab3.js
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