Published 2022. 12. 15. 18:20
코드 분석
MainActivity에서 CHECK 버튼 클릭 시 chall05()를 호출하는 것을 확인할 수 있다.
하지만, 호출 시 파라미터 값으로 문자열 "notfrida!"을 넘김으로 completeArr의 4번째 인덱스 값이 0으로 지정된다.
Write Up
Java.perform(() => {
console.log("\n* Hooking Start *")
var challenge05 = () => {
var MainActivity = Java.use("uk.rossmarks.fridalab.MainActivity")
MainActivity.chall05.overload('java.lang.String').implementation = function (arg) {
this.chall05("frida")
}
console.log("challenge_05 solved!")
}
// Hooking Function Call
challenge05()
})
오버로딩을 통해 chall05()를 호출 시 chall05("frida")로 호출되도록 후킹하여 문제 해결을 하였다.