
Flutter 애플리케이션 리버스 엔지니어링을 학습하기 위한 실습형 과제들입니다.
이 저장소는 Flutter 애플리케이션의 리버스 엔지니어링을 소개하기 위해 설계된 일련의 점진적 도전 과제를 포함하고 있습니다. Flutter 리버싱을 자세히 설명하는 블로그 글이나 튜토리얼이 많지 않기 때문에, 이 저장소가 그 공백을 메우기 위한 실습형 방법으로 만들어졌습니다.
목표는 Flutter 프레임워크의 고유한 특성과 일반적으로 사용되는 분석 기법을 이해하는 데 있어 탄탄한 기초를 다지는 것입니다.
도전 과제는 단계적으로 구성되어 있으며, 기본 개념부터 시작하여 네트워크 트래픽 차단 및 보호 우회와 같은 중급 및 고급 기술로 진행됩니다.
전통적인 writeup 대신, 각 도전 과제에는 리버싱 과정을 단계별로 안내하는 상세한 블로그 게시물 스타일의 솔루션이 포함되어 있습니다. 이는 실습 문제 해결과 관련 이론을 혼합하여 개념이 직접적인 연습을 통해 학습되도록 합니다.
사전 요구 사항이 부족하다고 느껴진다면, 다음 자료를 적극 권장합니다:
각 도전 과제 디렉토리에는 다음이 포함됩니다:
chall<X>.apk: 컴파일된 도전 과제 APK;solution/_images/: 솔루션에서 참조되는 이미지;solution/solution.md: 상세한 단계별 솔루션;source/: 애플리케이션 소스 파일과 빌드 지침. 앱을 수정하고 추가로 실험하려는 사람들을 위한 것입니다;$ tree
.
├── chall<X>.apk
├── solution
│ ├── _images
│ │ ├── chall<X_Y>.png
│ └── solution.md
└── src
├── how_to_build.md
└── main.dart
이들 중 일부 도구는 특정 구성이 필요합니다. 설정을 간소화하고 재현성을 보장하기 위해 일부 도구에 대한 Dockerfile이 제공되며 /tools 디렉토리에서 찾을 수 있습니다.
도구:
apktool - APK 디컴파일 및 재빌드 도구 (링크)Blutter - Flutter 애플리케이션 디컴파일러 (링크, 이 저장소에 포함된 Dockerfile)Frida - 동적 계측 툴킷 (링크)jadx - Android 디컴파일러 (링크)reFlutter - Flutter 리버스 엔지니어링을 위한 프레임워크 (링크)Burp Suite - 트래픽 차단을 위한 프록시 (링크)이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.
이 저장소는 오직 교육 목적으로만 만들어졌습니다. 기술된 기법은 분석할 권한이 있는 애플리케이션 또는 통제된 테스트 환경에서만 사용되어야 합니다. 저자는 이 저장소에 포함된 정보의 오용에 대해 어떠한 책임도 지지 않습니다.