Season 1/워게임
-
코드 분석 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 -
Download & Install 사진에 FridaLab 공식 홈페이지 링크를 삽입하였으니, 사진 클릭을 하면 공식 사이트로 이동할 수 있다. 해당 공식 사이트에서 Download를 클릭 시 FridaLab.apk 파일을 다운로드 할 수 있다. adb install 명령어를 통하여 FridaLab.apk를 설치하였다. FridaLab을 실행한다면, 별 반응이 없을 것이다. FridaLab의 기능은 화면 속 텍스트로 작성한 1~8번의 기능들이 우회가 되었는지 확인하는 것 뿐이다. CHECK 박스를 클릭한다면, 우회가 되지 않은 기능들이 빨간색 글자로 변경이 된다. Frida를 이용하여 각 기능들을 후킹을 통해 우회한다면, 초록색 글자로 변경이 된다. AndroidManifest & MainActivity ..
FridaLab Write Up - Download & InstallDownload & Install 사진에 FridaLab 공식 홈페이지 링크를 삽입하였으니, 사진 클릭을 하면 공식 사이트로 이동할 수 있다. 해당 공식 사이트에서 Download를 클릭 시 FridaLab.apk 파일을 다운로드 할 수 있다. adb install 명령어를 통하여 FridaLab.apk를 설치하였다. FridaLab을 실행한다면, 별 반응이 없을 것이다. FridaLab의 기능은 화면 속 텍스트로 작성한 1~8번의 기능들이 우회가 되었는지 확인하는 것 뿐이다. CHECK 박스를 클릭한다면, 우회가 되지 않은 기능들이 빨간색 글자로 변경이 된다. Frida를 이용하여 각 기능들을 후킹을 통해 우회한다면, 초록색 글자로 변경이 된다. AndroidManifest & MainActivity ..
2022.12.15