처음 사이트에 가입한 후 가장 먼저 풀어본 문제이다.
우선, apk 분석을 위해 jadx로 apk 파일을 열어보았다.
Android App을 구성할 때에, 보통 가장 축이 되는 Activity의 이름을
Main Activity라고 짓는다.
문제의 APK의 MainActivity를 열어보자

플래그가 존재할 것 같은 수상한 함수를 발견했다.
함수의 로직을 직역하면, 다음으로 표현 가능하다.
editText의 getText 메서드는 그저 입력된 값을 가져오는 코드이니,
decodeSecret 메서드의 로직을 확인해보겠다.

decodeSecret의 코드이다.
R.raw.secret의 값을 가져와서, Base 64로 디코딩하여 반환하고 있다.
그렇다면 R.raw.secret의 값이 Flag일까 ?
-> 그렇지 않다 !!
안드로이드는 키값을 직접 하드코딩 하는 행위를 권장하지 않는다.
그렇기 때문에 보편적으로, 리소스 파일에 텍스트나 이미지를 저장하고 Key값을 통해 리소스를 불러오는 형식을 주로 사용한다.
그렇기 때문에 R.raw.secret의 경우에도 단순한 Key에 불과하며, 저장된 값은 Int형 변수이다.
따라서, 우리는 Apk의 리소스 파일 중, R.raw.secret에 해당하는 파일을 직접 찾아야 한다.

jadx를 통해 APK의 리소스 폴더에 접근해보니, 찾던 secret 파일이 보인다.
바로 열어서 Flag를 확인하면 된다.
그렇지 않았다 ....
내 경우, Mac 환경으로 문제풀이를 진행하고 있는데 그래서인지 jadx로 리소스 파일에 직접 접근하려고 하니, jadx 자체가 멈추며 강제 종료되는 현상이 발생했다. (다른 Windows 사용자들에겐 발생하지 않은 이슈이다.)
이에 다른 툴을 추가로 사용하여 해결했다.

ApkTool
APK의 리소스를 디컴파일 하는 툴이다.
jadx도 디컴파일 툴임은 동일하나, 리소스를 디컴파일 한다는 것이 더 강조되어 있다.
ApkTool을 통해 리소스를 열어보니, Flag를 확인할 수 있었다.