Published 2022. 12. 15. 18:17
코드 분석
chall03 메소드는 false를 리턴하고 있었다.
해당 리턴 값인 false를 true로 리턴하는 것으로 변경하는 것이 Challenge 03 문제이다.
Write Up
Java.perform(() => {
console.log("\n* Hooking Start *")
var challenge03 = () => {
var MainActivity = Java.use("uk.rossmarks.fridalab.MainActivity")
MainActivity.chall03.overload().implementation = () => true
console.log("challenge_03 solved!")
}
// Hooking Function Call
challenge03()
})
간단하게 Overload 메소드를 이용하여 chall03 메소드가 호출하였을 때 true를 리턴하도록 오버로딩을 하였다.
쉽게 이해하자면, chall03 메소드가 true를 리턴하도록 덮어쓰기를 하였다고 생각하면 된다.
사용된 API
- Class.Method.overload().implementation
하나의 클래스에서 동일한 이름을 가진 메소드가 존재 시 각각 인자의 개수 및 타입에 따라 다르게 후킹할 때 사용되는 API이다
'워게임 > FridaLab' 카테고리의 다른 글
FridaLab Write Up - Challenge 05. 항상 chall05()에 "frida"를 전송하라. (0) | 2022.12.15 |
---|---|
FridaLab Write Up - Challenge 04. chall04()에 "Frida"를 전달하라. (0) | 2022.12.15 |
FridaLab Write Up - Challenge 02. chall02()를 실행 시켜라. (0) | 2022.12.15 |
FridaLab Write Up - Challenge 01. challenge_01 클래스의 chall01 변수의 값을 1로 변경해라 (0) | 2022.12.15 |
FridaLab Write Up - Download & Install (0) | 2022.12.15 |