본문 바로가기
HACKING_GAME/Mobile

HacktheBox#1 Don't Overreact

by asdf12345 2022. 4. 5.

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