본문 바로가기
Q&A2021년 12월 4일1분 읽기

Reverse Engineering으로 앱의 API 키를 추출할 수 있나요?

안
안소연
조회 762댓글 3

안드로이드 앱에 하드코딩된 API 키를 리버싱으로 추출할 수 있나요?

댓글 3

김김영삼4년 전

네, 매우 쉽게 가능합니다.

안드로이드:

# APK 디컴파일
apktool d app.apk

# Java 소스 확인
jadx app.apk

# 문자열 검색
grep -ri "api_key\|secret\|token" ./

iOS:

  • class-dump로 클래스 정보 추출
  • Hopper/Ghidra로 바이너리 분석

결론: 클라이언트(앱/프론트엔드)에 저장된 시크릿은 반드시 추출됩니다.

안전한 방법:

  • API 키를 서버에서 관리
  • 클라이언트 → 자체 백엔드 → 외부 API 구조
  • 앱에 넣어야 한다면 사용량/IP 제한 설정
  • NDK(네이티브 코드)에 넣어도 결국 추출 가능 — 시간만 좀 더 걸릴 뿐
권권도현(guest)4년 전
저도 궁금했던 건데 해결됐습니다.
김김민수(guest)4년 전
많이 배웠습니다. 감사해요.
Ctrl+Enter로 등록