GitHub Trending보안오늘의 주요

HuangZhuoRui/LocationSpoofer

KernelSU 기반 안드로이드 GPS 위조 프레임워크 공개

원제 HuangZhuoRui/LocationSpoofer

스타 1,790당일 +258Kotlin
Key Point

국내외 위치 기반 서비스 보안 검증이나 기기 호환성 테스트 개발자, 그리고 Xposed 기반 깊이 있는 시스템 레벨 Hook 구현 방식에 관심 있는 안드로이드 보안 연구자들이 알아야 할 대규모 오픈소스 프로젝트다.

핵심 요약

  • KernelSU와 LSPosed를 조합해 안드로이드 시스템 수준에서 GPS 위치, 무선 환경(Wi-Fi·기지국·블루투스), 위성 신호를 동시에 가짜로 제공하는 오픈소스 도구다.
  • 고도 풍제어를 무력화하기 위해 단순한 Mock Location 플래그 위조 대신 Wi-Fi 신호 지문, 기지국 셀 정보, GNSS 위성 분포, 전자나침반 데이터까지 일관성 있게 조작해 실제 위치처럼 보이게 한다.
  • 위치 좌표에는 Ornstein-Uhlenbeck 확률 과정을 적용해 GPS 칩이 내는 자연스러운 노이즈(가우시안 드리프트)를 시뮬레이션하고, 보행 중에는 정규분포 횡방향 편차(±0.15m)를 더해 사람 발걸음의 자연스러움을 구현한다.
  • Wi-Fi와 기지국 정보는 실제 외부에서 스캔한 데이터를 Room 데이터베이스에 저장 후, 역거리 가중 보간법(IDW)으로 이동 경로상 50m 반경 내 신호를 부드럽게 연결해 불연속을 방지한다.
  • 자동 도로 경로 기획, 신호등 대기 시뮬레이션, 고도·정확도 지표 동적 변화, 계보기 센서 값 조작 등 세부 기능도 포함하며, 북두·GLONASS 위성 20여 개를 가상으로 배치해 NMEA 문장을 동적 생성한다.
  • 호출 스택 트레이스에서 Xposed 흔적을 자동 제거하고, ClassLoader.forName 프로빙을 ClassNotFoundException으로 응답 처리해 보안 솔루션의 탐지를 우회한다.
  • Kotlin 100% 기반이며 Compose UI, Koin 의존성 주입, 공간 인덱싱을 활용해 6개 Gradle 모듈(app, app-ui, service, xposed, core-data, core-geo)로 아키텍처를 분리했다.
  • libxposed 원격 설정 채널을 통해 앱 UI와 Hook 레이어 간 설정 동기화를 구현해, SELinux 정책 수정 없이 대용량 설정을 안전하게 전달한다.
  • 전역 방식(시스템 서비스 직접 Hook)과 비전역 방식(개별 앱마다 Hook 주입) 두 가지를 지원하며, 제조사별·버전별로 내부 구현이 다르므로 ADAPTATION_PROGRESS.md에서 적응 상태를 추적한다.
  • 고도 지도 엔진(AMap, BaiduMap, Google Maps) 자동 선택, WGS-84·GCJ-02·BD-09 좌표계 동적 변환, 권한 상관없이 Mock Location 플래그와 AppOpsManager 쿼리 완전 제거를 제공한다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗