1. 연구 배경1.1 서론Flutter 애플리케이션의 네트워크 통신을 분석하고 디버깅하기 위해서는 HTTPS 트래픽을 intercept할 수 있어야 한다. 하지만 일반적으로 사용했던 Burp CA 시스템 경로 로드 방식으로 intercept가 동작하지 않는다. 이 포스팅에서는 Flutter로 개발된 앱에서 HTTPS 통신을 가로채는 방법과 그 원리를 심층 분석한다.1.2 연구 동기개발/디버깅 필요성: API 통신 내용 확인, 에러 디버깅테스트 환경 구축: Mock 서버 연동, 네트워크 시나리오 테스트보안 분석: 앱의 보안 취약점 점검, 데이터 전송 검증역공학/분석: 기존 앱의 통신 프로토콜 분석1.3 Flutter HTTPS 통신의 특징Flutter는 모바일 애플리케이션을 진단할 때 일반적인 네이티브 앱..
개요AI의 발전은 빠르게 이루어지고 있다. 안드로이드 정적 분석에 활용할 수 있는 MCP를 소개한다. 블로그에서 MCP를 직접 다룬 적은 없지만, AI가 다양한 외부 리소스(API, 데이터베이스, 플러그인 등)와 대화하는 언어 정도로 정리하고 넘어간다. 수천개의 MCP들이 개발되고 배포되고 있다. 프로토콜 표준은 정해졌지만 아직 공식 배포채널이 없어 많은 개발자들이 도구를 필요에 의해 개발하고 있다.JADX 디컴파일러와 연동하여 사용할 수 있는 MCP이다.https://github.com/zinja-coder/jadx-ai-mcp GitHub - zinja-coder/jadx-ai-mcp: Plugin for JADX to integrate MCP serverPlugin for JADX to integr..
들어가며 안드로이드 앱 분석과 리버싱은 많은 시간과 노력을 필요로 한다. 여기에 코드 난독화까지 적용되면 분석 난이도는 기하급수적으로 높아진다. 난독화된 코드를 읽는 일은 마치 매번 새로운 외국어를 배우는 것처럼 느껴진다. 실제로 금융앱이나 악성앱에는 ProGuard, DexGuard 등 난독화 솔루션이 적용되어 클래스/함수 이름을 알아보기 어렵게 바꾸고 분석을 방해한다.최근 이러한 문제를 해결하기 위한 새로운 접근법으로 LLM을 이용한 코드 해독 도구들이 등장하고 있다. 이번 포스팅에서는 그 중에서도 주목할 만한 성능을 보여주는 Androidmeda라는 오픈 소스 도구를 소개한다. 이 도구가 어느 정도까지 난독화를 해제할 수 있는지, 그리고 LLM 연동 분석을 위해 어떤 준비가 필요한지 살펴본다. A..
코드만 필요하신 경우 가장 아래에 github 페이지에서 확인할 수 있습니다 Frida 17+ 환경에서 fridump3 호환 문제 해결최근 Frida가 17.0.0 이상 버전으로 업그레이드되면서 기존에 사용하던 fridump3가 더 이상 정상 동작하지 않는 문제가 발생합니다.그림처럼 fridump에서 발생하는 에러는 아니지만 not a function 에러는 동일하게 발생한다. 문제 원인기존 fridump3는 Frida 16.x 이하 버전의 API를 기반으로 작성되어 있어, Frida 17+에서 제거되거나 변경된 메서드를 그대로 사용하고 있다.검색을 통해 확인한 결과, 대부분의 해결 방법은 Frida 버전을 낮추어 사용하는 우회 방식뿐이었고, 최신 버전에서 바로 사용할 수 있는 패치는 제시되지 않고 있었..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항) 개요 안드로이드 앱은 실행 시 사용할 메모리 영역을 할당받는다. 메모리에는 앱의 실행 코드와 사용할 자원(함수, 변수, 리소스 등)이 저장된다. 안드로이드 런타임은 '페이징'과 '메모리 매핑'을 이용해서 메모리를 관리한다. 메모리 자원을 관리하기 위해 자바에서는 동적으로 할당했던 메모리 영역 중 사용하지 않는 메모리를 주기적으로 삭제하는 가비지 컬렉션(Garbage Collection, GC)을 수행한다. 운영체제 수준에서 메모리를 관리하기 때문에 개발자는 기능 개발에 집중할 수 있다. ..
직접 연구하여 작성한 자료입니다. 공식 출처가 명시되지 않은 자료의 무단 복제, 사용을 금지합니다.공격 기법은 학습용, 허가된 환경에서 실습 바랍니다. 실 운영망 대상 공격은 처벌받습니다. (정보통신망법 제48조 1항)이전 글에 이어지는 글입니다.[안드로이드 모의해킹] 코드 패치와 앱 무결성 검증 (smali 코드 분석) 개요 어셈블리 코드 수정(NDK) 안드로이드 NDK로 개발된 코드 또한 수정이 가능하다. 직접 예제 코드를 작성하고 변조하는 실습을 진행한다. 안드로이드 스튜디오에서 새 프로젝트 생성을 선택하고 Native C++ 프로젝트를 생성한다. 네이티브 언어로 함수를 정의한다. 함수의 기능은 이전의 실습과 유사하게 두 정수의 합을 반환하는 기능을 수행한다. 상용 앱에서는 더 복잡한 기능을 수행하..