HacktheBox Don't Overreact 을 풀고 싶으신가요?
Do you want to solve HacktheBox Don't Overreact ?
[ HacktheBox#1 Don't Overreact ]
List of Content
1. Write Up
2. Solution
1. Write Up
문제에서 React Native APK를 던져준다. 앱 실행 시, HacktheBox 문구만 보이고 별다른 UI 가 보이지 않는다.
1) 앱 구조를 파악하기 위해, AndroidManifest.xml 파일 확인
앱을 실행할때, 제일 먼저 실행되는 class 는 application 요소의 android:name 속성 값으로 선언된다.
application 요소의 android:name 속성 값이 없을 경우, activty 요소의 android:name 속성 값으로 처음 실행되는 class를 선언된다.
<application android:name="com.awesomeproject.MainApplication" ...
<activity android:name="com.awesomeproject.MainActivity" ...
2) 앱 로직 확인을 위해 실행 코드 확인
React Native 앱은 ReactApplication 클래스를 이용하며, 앱의 코드는 classes.dex 대신 assets 하위에 bundle 형태로 존재한다.
+ 간단하게 React Native 앱 동작 원리를 말하자면, 개발자가 작성한 Javascript를 해석하는 해석기를 So Library를 배치하고, 이를 이용해 assets 하위에 있는 bundle을 해석한 후 View 에 내용을 뿌린다.
++ 아시다시피, bundle 이란 bundler 를 통해 다수의 객체나 파일이 합쳐진 결과를 말한다.
시간절약을 위해 만들어진 기법으로, import 문을 이용해 참조하고 참조한 내용들을 한곳에 모음으로써 파일을 찾고 모듈을 읽어들이는 시간을 save한다.
그래서 클라이언트 단에 중요 정보가 존재하면 다 들통난다. 모를 줄 알았쥬?
이렇게ㅋ
2. Solution
클라이언트 단에 중요정보를 배치하지 않는다.
'HACKING_GAME > Mobile' 카테고리의 다른 글
HacktheBox#2 APKey (0) | 2022.04.05 |
---|