모바일보안5 [프리다] FridaLab_challenge_04 문제 풀이 4번을 풀어보자. 4. Send "frida" to chall04() "frida"를 chall04()에 보내라고 한다. 우선 chall04 함수를 찾아보자. "uk.rossmarks.fridalab.MainActivity"에 있다. 보다시피 (String) str 값에 frida를 넣어주면 될 것 같다. 이 문자열 인자 값을 Frida 후킹을 통해 변조해보도록 하자. static이 없으므로 Java.choose()를 사용하면 된다. Java.choose("uk.rossmarks.fridalab.MainActivity",{ onMatch: function(chall_04){ chall_04.chall04("frida");//값 넣어주기 }, onComplete: function(){ console.log.. 2020. 11. 15. [프리다] FridaLab_challenge_03 문제 풀이 3번! 3. Make chall03() return true chall03 함수를 찾아보았다. 역시 메인에는 true가 반환됐을 때 성공으로 돌리라는 코드가 있었고, 해당 함수 역시 "uk.rossmarks.fridalab.MainActivity"에서 찾아볼 수 있었다. .py로 페이로드를 작성해서 결과값을 true로 돌려보자. Java.use로 "uk.rossmarks.fridalab.MainActivity"를 가져온다음 chall03함수를 return true 하도록 변형해주면 된다. var chall_03 = Java.use("uk.rossmarks.fridalab.MainActivity"); chall_03.chall03.implementation = function(){ console.log(".. 2020. 11. 15. [프리다] FridaLab_challenge_02 문제 풀이 2번 문제를 풀어보자. 2. Run chall02() chall02 함수는 "uk.rossmarks.fridalab.MainActivity"에서 찾을 수 있었다. 보다시피 public이 아닌 private 함수이다. 이걸 억지로 실행시켜 보자. Method가 static이 아닐 경우 매번 쓰던 Java.use()가 아닌 Java.choose()를 써야한다. - onMatch : 실시간으로 인스턴스에 대해 호출 - onComplete : function()의 모든 인스턴스가 열거될 때 호출 출처 : https://aboutsc.tistory.com/166 Java.choose("uk.rossmarks.fridalab.MainActivity", { onMatch: function(chall_02){ chal.. 2020. 11. 15. [프리다] FridaLab_challenge_01 문제 풀이 rossmarks.uk/blog/fridalab/ FridaLab I was struggling with a recent test using frida, knowing it could do what I rossmarks.uk FridaLab 앱을 설치해준다. 녹스 앱 화면에 .apk 파일을 끌어다 놓기만 하면 자동으로 설치가 된다. 앱을 열면 아래와 같은 화면이 나온다. 아무것도 안하고 check를 누르면 1~8번이 빨간색으로 변한다. 아마도 성공 여부를 확인하는 것 같다. 그럼 이제 1번부터 해보자. 1. Change class challenge_01's variable 'chall01' to : 1 jadx-gui.bat 을 열어 FridaLab.apk 파일을 디컴파일하여 분석해보자. 문제에도 나와 .. 2020. 11. 15. 이전 1 2 다음