Season 1
-
코드 분석 MainActivity에서 Challenge_06 클래스의 메소드들을 사용되는 것을 확인할 수 있다. 최종적으로 challenge_06 클래스의 confirmChall06 메소드를 사용하여 True를 반환 받는 것이 목표이다. 일단 confirmChall06 메소드에서 True를 받기 위해서 사진과 같은 조건을 만족해야한다. 두 번째 조건인 현재 시간이 challenge_06.startTime()이 호출된 시간보다 10초 더 크면 되는 것이니, challenge_06.startTime() 호출 후 10초 뒤에 challenge_06.confirmChall06()을 호출하면 해결된다. 첫 번째 조건은 challenge_06.addChall06()의 chall06 변수에 삽입된 값을 그대로 cha..
FridaLab Write Up - challenge 06. 적절한 값을 사용하여 10초 후 chall06()를 동작시켜라.코드 분석 MainActivity에서 Challenge_06 클래스의 메소드들을 사용되는 것을 확인할 수 있다. 최종적으로 challenge_06 클래스의 confirmChall06 메소드를 사용하여 True를 반환 받는 것이 목표이다. 일단 confirmChall06 메소드에서 True를 받기 위해서 사진과 같은 조건을 만족해야한다. 두 번째 조건인 현재 시간이 challenge_06.startTime()이 호출된 시간보다 10초 더 크면 되는 것이니, challenge_06.startTime() 호출 후 10초 뒤에 challenge_06.confirmChall06()을 호출하면 해결된다. 첫 번째 조건은 challenge_06.addChall06()의 chall06 변수에 삽입된 값을 그대로 cha..
2022.12.15 -
코드 분석 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("frid..
FridaLab Write Up - Challenge 05. 항상 chall05()에 "frida"를 전송하라.코드 분석 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("frid..
2022.12.15 -
코드 분석 MainActivity에서 확인한 chall04()은 chall02()처럼 선언은 되어 있지만, 호출이 안 된 메소드이다. challenge 02의 풀이 방식에서 chall02() 호출 시 문자열 "frida"를 파라미터 값으로 넘겨주면 해결될 것으로 판단된다. Write Up Java.perform(() => { console.log("\n* Hooking Start *") var challenge04 = () => { Java.choose("uk.rossmarks.fridalab.MainActivity", { "onMatch": (instense) => instense.chall04("frida"), "onComplete": () => console.log("challenge_04 solv..
FridaLab Write Up - Challenge 04. chall04()에 "Frida"를 전달하라.코드 분석 MainActivity에서 확인한 chall04()은 chall02()처럼 선언은 되어 있지만, 호출이 안 된 메소드이다. challenge 02의 풀이 방식에서 chall02() 호출 시 문자열 "frida"를 파라미터 값으로 넘겨주면 해결될 것으로 판단된다. Write Up Java.perform(() => { console.log("\n* Hooking Start *") var challenge04 = () => { Java.choose("uk.rossmarks.fridalab.MainActivity", { "onMatch": (instense) => instense.chall04("frida"), "onComplete": () => console.log("challenge_04 solv..
2022.12.15 -
코드 분석 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() }) 간단하게 Ov..
FridaLab Write Up - Challenge 03. Chall03()의 리턴 값을 True로 만들어라.코드 분석 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() }) 간단하게 Ov..
2022.12.15 -
코드 설명 MainActivity에서 chall02 함수가 정의되어 있지만, 호출하는 코드가 없는 것을 확인되었다. chall02 함수는 completerArr의 1번 인덱스의 값에 1을 지정하는 것뿐인 함수였다. Write Up Java.perform(() => { console.log("\n* Hooking Start *") var challenge02 = () => { Java.choose("uk.rossmarks.fridalab.MainActivity", { "onMatch": (instense) => instense.chall02(), "onComplete": () => console.log("challenge_02 solved!") }) } // Hooking Function Call chal..
FridaLab Write Up - Challenge 02. chall02()를 실행 시켜라.코드 설명 MainActivity에서 chall02 함수가 정의되어 있지만, 호출하는 코드가 없는 것을 확인되었다. chall02 함수는 completerArr의 1번 인덱스의 값에 1을 지정하는 것뿐인 함수였다. Write Up Java.perform(() => { console.log("\n* Hooking Start *") var challenge02 = () => { Java.choose("uk.rossmarks.fridalab.MainActivity", { "onMatch": (instense) => instense.chall02(), "onComplete": () => console.log("challenge_02 solved!") }) } // Hooking Function Call chal..
2022.12.15 -
코드 설명 chall01이라는 이름의 클래스 변수가 int 타입으로 선언만 되어있다. MainActivity에서 호출되는 getChall01Int 메소드에선 chall01 클래스 변수에 값을 지정하지 않았기 때문에 chall01 클래스 변수에 지정된 값은 0으로 지정되어 리턴하게 된다. MainActivity에서 getChall01Int 메소드의 반환 값과 1을 비교하였는데, 이는 틀리기 때문에 동작하지 않는다. Write Up Java.perform(function () { console.log("\n* Hooking Start *") var challenge01 = () => { var chall_01 = Java.use("uk.rossmarks.fridalab.challenge_01") chall_..
FridaLab Write Up - Challenge 01. challenge_01 클래스의 chall01 변수의 값을 1로 변경해라코드 설명 chall01이라는 이름의 클래스 변수가 int 타입으로 선언만 되어있다. MainActivity에서 호출되는 getChall01Int 메소드에선 chall01 클래스 변수에 값을 지정하지 않았기 때문에 chall01 클래스 변수에 지정된 값은 0으로 지정되어 리턴하게 된다. MainActivity에서 getChall01Int 메소드의 반환 값과 1을 비교하였는데, 이는 틀리기 때문에 동작하지 않는다. Write Up Java.perform(function () { console.log("\n* Hooking Start *") var challenge01 = () => { var chall_01 = Java.use("uk.rossmarks.fridalab.challenge_01") chall_..
2022.12.15