반응형

Find the Flag!!

Download Sharif_CTF.apk


문제를 보면 위와 같이 apk파일을 주고 Flag를 찾으라고 한다.

해당 파일을 안드로이드에 설치하고 실행시키면 Serial Number를 입력하라고 하고 잘못된 값을 넣으면 Just Keep Trying :-) 이라는 문구가 뜬다.



해당 문구를 AstroGrep으로 검색한 결과 a.smali에 존재한다고 떴다.


해당 코드를 보면 v2가 1이고 this.a.e가 unknown이 아니면 문제가 풀릴 것으로 예상된다.


v2는 this.a.IsCorrect(v0); 이므로 해당 함수로 접근해보면 아래와 같이 Native 코드 내에 선언되어있음을 알 수 있다.


그 바로 위에 adnjni라는 라이브러리를 호출하고 있는 것을 알 수 있다.

따라서 디컴파일 후 /lib/armeabi 폴더에 들어가면 libadnjni.so 가 있는 것을 볼 수 있다. 이를 분석해보자.


IDA로 열어보면 유일하게 문자열인 것과 v12부터의 배열을 비교하는 것을 볼 수 있다.

따라서 v12부터의 값을 ascii로 변경시키면 답이 나올거라 생각한다.


해당 값을 ascii converter를 이용하여 변환시켜 주었다.

그 결과값을 APP에 넣고 Login 버튼을 누르면 답이 출력된다.





반응형
블로그 이미지

rootable

,