이번 포스트에서는 FridaLab의 Challenge 6 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : Challenge 6의 문제 코드는 다음과 같다. package uk.rossmarks.fridalab; /* loaded from: classes.dex */ public class challenge_06 { static int chall06; static long timeStart; public static void startTime() { timeStart = System.currentTimeMillis(); } public static boolean confirmChall06(int i) { return i == chall06 && System.currentTimeMi..
이번 포스트에서는 FridaLab의 Challenge 5 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : Challenge 5의 문제 코드는 다음과 같다. public void chall05(String str) { if (str.equals("frida")) { this.completeArr[4] = 1; } else { this.completeArr[4] = 0; } } Main함수에서 이미 "notfrida"라는 인자를 가진 chall05 함수를 호출하고 있으며 해당 함수를 "frida"라는 인자로 재호출하면 되는 것으로 보인다. ## 문제 풀이 : 우선 우리가 삽입할 JS code를 실행해줄 JSInjector를 작성해보겠다. ### JSInjector : import f..
이번 포스트에서는 FridaLab의 Challenge 4 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : Challenge 4의 문제 코드는 다음과 같다. public void chall04(String str) { if (str.equals("frida")) { this.completeArr[3] = 1; } } chall04 함수는 String값을 인자로 받고 있다. 인자값이 frida인 경우 해당 챌린지를 통과할 수 있는 것으로 보인다. ## 문제 풀이 : 우선 우리가 삽입할 JS code를 실행해줄 JSInjector를 작성해보겠다. ### JSInjector : import frida,sys import argparse def on_message(message, data..
이번 포스트에서는 FridaLab의 Challenge 3 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : Challenge 3의 문제 코드는 다음과 같다. public boolean chall03() { return false; } chall03 함수는 현재 false를 반환하고 있다. chall03가 true를 반환하게 해주면 된다. ## 문제 풀이 : 우선 우리가 삽입할 JS code를 실행해줄 JSInjector를 작성해보겠다. ### JSInjector : import frida,sys import argparse def on_message(message, data): if message['type'] == 'send': print(message['payload']) el..
이번 포스트에서는 FridaLab의 Challenge 2 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : Challenge 2의 문제 코드는 다음과 같다. private void chall02() { this.completeArr[1] = 1; } chall02 함수를 실행하면 되는 것으로 보인다. 단 chall02가 private라는 점을 주의해야 한다. ## 문제 풀이 : 우선 우리가 삽입할 JS code를 실행해줄 JSInjector를 작성해보겠다. ### JSInjector : import frida,sys import argparse def on_message(message, data): if message['type'] == 'send': print(message['p..
이번 포스트에서는 FridaLab의 Challenge 1 문제에 대해 다루겠다. 문제를 실행하면 다음과 같다. ## 문제 해석 : Challenge 1의 문제 코드는 다음과 같다. package uk.rossmarks.fridalab; /* loaded from: classes.dex */ public class challenge_01 { static int chall01; public static int getChall01Int() { return chall01; } } chall01의 값을 0이 아닌 다른 값으로 변경하면 되는 것으로 보인다. ## 문제 풀이 : 우선 우리가 삽입할 JS code를 실행해줄 JSInjector를 작성해보겠다. ### JSInjector : import frida,sys..