본문 바로가기
App/InjuredAndroid

injured.apk | FLAG SIX - LOGIN 3

by 09337 2021. 9. 13.

FlagSixLoginActivity 파일을 확인해보면 73번 라인에서 k.a() 함수에서 반환된 값과 비교한다.

k3FElEG9lnoWbOateGhj5pX6QsXRNJKh///8Jxi8KXW7iDpk2xRxhQ== 값이 인자로 넘어가는 것을 알 수 있다.

 

k.a() 함수를 확인해보면 다음과 같다.

이 함수는 복호화 작업을 진행고, 함수를 frida와 연결하고 스크립트를 작성하여 암호화된 값을 넘기기 때문에 우리가 입력하는 값이 어떤 값이 되든 상관 없다.

 

nox_adb shell 접속해서 frida 서버 실행

 

javascript 파일 제작

7번 라인에서는 k 클래스의 함수를 오버로드해서 클래스를 변수에 할당해준다. 디코딩 기능을 오버로드 해주고, 

8번 라인에서 디코드를 진행할 문자열을 정의해준다. 이 값을 항상 인자로 넣어주기 때문에 어떤 값을 입력하더라도 정답 플래그가 리턴된다.

 

frida -U -f b3nac.injuredandroid -l [자바스크립트파일] --no-pause

 

-f : 패키지명(b3nac.injuredandroid)

-l : 로딩

'App > InjuredAndroid' 카테고리의 다른 글

injured.apk | FLAG SEVEN - SQLITE  (0) 2021.09.13
injured.apk | FLAG FOUR - LOGIN 2  (0) 2021.09.13
injured.apk | FLAG THREE - RESOURCES  (0) 2021.09.13
injured.apk | FLAG TWO - EXPORTED ACTIVITY  (0) 2021.09.13
injured.apk | FLAG ONE-LOGIN  (0) 2021.09.13

댓글