Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
hooker — Hooker는 Android 애플리케이션의 동적 분석을 위한 오픈소스 프로젝트입니다. 이 프로젝트는 대상 애플리케이션에서 발생하는 모든 API 호출을 자동으로 가로채고 수정하는 데 사용할 수 있는 다양한 도구와 애플리케이션을 제공합니다. | Kitploit
도구/GitHubGitHub/androidhooker/hooker
Android SecurityDynamic Analysis (Sandboxing)Mobile App PentestingAPI Security TestingInformation GatheringPenetration TestingArchived
GitHubandroidhooker/hooker

hooker

Hooker는 Android 애플리케이션의 동적 분석을 위한 오픈소스 프로젝트입니다. 이 프로젝트는 대상 애플리케이션에서 발생하는 모든 API 호출을 자동으로 가로채고 수정하는 데 사용할 수 있는 다양한 도구와 애플리케이션을 제공합니다.

저장소 보기
415107410년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Hooker: 안드로이드 애플리케이션의 자동 동적 분석

Hooker 소개

기능 설명

Hooker는 안드로이드 애플리케이션의 동적 분석을 위한 오픈소스 프로젝트입니다. 이 프로젝트는 대상 애플리케이션이 수행하는 모든 API 호출을 자동으로 가로채고 수정하는 데 사용할 수 있는 다양한 도구와 애플리케이션을 제공합니다.

Android Substrate 프레임워크를 활용하여 이러한 호출을 가로채고 모든 컨텍스트 정보(매개변수, 반환 값 등)를 집계합니다. 수집된 정보는 ElasticSearch 또는 JSON 파일에 저장할 수 있습니다.

또한 애플리케이션 집합이 수행하는 모든 API 호출을 수집하는 분석 실행을 자동화하는 Python 스크립트 세트도 제공됩니다.

면책 조항

Android-Hooker는 Substrate 프레임워크에 의존하는 개념 증명입니다. 즉, 장치에 Substrate가 올바르게 설치되지 않으면 Hooker가 작동할 수 없습니다. 현재까지 저자는 Android 4.1 및 4.2 버전의 장치에 Substrate를 성공적으로 설치했습니다. 더 높은 버전에서 Substrate를 설치하는 방법을 알고 계시다면 [email protected]로 이메일을 보내주시면 프로젝트에 통합해 드리겠습니다.

기술 설명

Hooker는 여러 모듈로 구성됩니다:

  1. APK-instrumenter는 분석 전에 안드로이드 장치(예: 에뮬레이터)에 설치해야 하는 안드로이드 애플리케이션입니다.
  2. hooker_xp는 안드로이드 장치를 제어하고 애플리케이션의 설치 및 자극을 트리거하는 데 사용할 수 있는 Python 도구입니다.
  3. hooker_analysis는 elasticsearch 데이터베이스에 저장된 결과를 수집하는 데 사용할 수 있는 Python 스크립트입니다.
  4. tools/APK-contactGenerator는 hooker_xp가 안드로이드 장치에 자동으로 설치하여 가짜 연락처 정보를 주입하는 안드로이드 애플리케이션입니다.
  5. tools/apk_retriever는 다양한 온라인 공용 안드로이드 마켓에서 APK를 다운로드하는 데 사용할 수 있는 Python 도구입니다.
  6. tools/emulatorCreator는 에뮬레이터를 준비하는 데 사용할 수 있는 스크립트 모음입니다.

자세한 정보

  • 웹사이트: https://github.com/AndroidHooker/hooker
  • FAQ는 여기에서 확인할 수 있습니다.
  • 버그 트래커: 버그 및 기능 요청은 GitHub Issues에서 관리됩니다.
  • 이메일: [email protected]
  • 트위터: 저자 계정 팔로우 (@Tibapbedoum 및 @Lapeluche)

시작하기

저자는 Debian 64비트 시스템을 사용하여 Hooker를 개발했으며, 이에 따라 잘못된 경로나 매개변수로 인해 다른 시스템에서 제대로 실행되지 않을 수 있습니다. 이러한 비호환성을 식별하는 데 도움을 주시면 감사하겠습니다. 사용 중 오류가 발생하면 버그 트래커에 이슈를 보고해 주세요.

Hooker를 사용하려면 다음이 설치된 서버가 하나 이상 필요합니다:

  • python 2.7,
  • elasticsearch 1.7,
  • kibana 4.1,
  • Android 4.1 및 4.2,
  • androguard 1.9.

ElasticSearch 호스트 설정

이 단계는 ElasticSearch 설치와 관련됩니다. ElasticSearch 온라인 문서를 다운로드하고 따라주세요: http://www.elasticsearch.org/overview/elkdownloads/. 단일 호스트에 elasticsearch를 설치하거나 elasticsearch 노드 클러스터를 배포할 수 있습니다.

Android SDK 설정

Android 번들은 여기에서 다운로드할 수 있습니다. Hooker 설치 스크립트를 사용하려면 다음을 수행해야 합니다:

  • ANDROID_HOME 환경 변수를 설정했는지 확인: $ export ANDROID_HOME=/path/to/your/sdk/folder

  • SDK 관리자에서 SDK API를 다운로드합니다.

설치

필요한 모든 종속성을 빌드하고 설치하는 데 도움이 되는 설치 스크립트가 제공됩니다. 이 스크립트를 사용하려면 다음 종속성이 있는지 확인하세요:

root@kitploit:~
# openjdk-7-jdk, ant, python-setuptools (just apt install them)

모든 준비가 완료되면 Hooker 루트 디렉토리에서 설치 스크립트를 실행하세요:

root@kitploit:~
$ ./install.sh

참조 Android 가상 장치(AVD) 빌드

  • 사용 가능한 타겟이 있는지 확인: $ $ANDROID_HOME/tools/android list target
  • 더 쉬운 설치를 위해 자동 스크립트 실행: cd tools/emulatorCreator && python HookerInstaller.py -s SDK_PATH -a Hooker_test -t ANDROID_TARGET -d AVD_DIRECTORY
  • Python 로그에 다음과 같은 메시지가 표시되면:
    • SuperSU 앱을 열고 "Continue"를 클릭하여 SU 바이너리를 업데이트하고, "Normal" 설치 모드를 선택한 후 잠시 기다립니다. "OK"( "Reboot"가 아님)를 클릭하고 앱을 종료합니다.
    • Substrate 앱을 열고 "Link Substrate Files"를 클릭하고 Substrate를 허용한 후 다시 "Link Substrate Files"를 클릭합니다.
    • ADB로 APK-instrumenter APK를 설치합니다.
    • Substrate 애플리케이션 팝업이 나타나면 "Restart System (Soft)"를 클릭합니다.
    • 시스템이 재시작될 때까지 기다린 후 잠금 화면 보안을 비활성화합니다: Menu > System Settings > Security > Screen lock > None
    • 에뮬레이터를 닫습니다.
  • 자동 스크립트를 사용하지 않으려면 다음을 기억해야 합니다:
    • Hooker가 제대로 작동하려면 SD 카드가 필요합니다.
    • Hooker는 스냅샷을 활성화해야 합니다. AVD를 생성할 때 android-studio를 사용하는 경우 주의하세요: 스냅샷 사용을 어렵게 만드는 버그(또는 기능)가 있습니다.

에뮬레이터 준비 방법 동영상은 여기에서 확인할 수 있습니다.

Hooker가 실행되는 호스트 구성

elasticsearch 호스트가 android 에뮬레이터와 다른 호스트에 있는 경우 네트워크를 통해 트래픽을 리디렉션해야 합니다. 이를 위해 socat을 사용할 수 있습니다:

root@kitploit:~
$ socat -s -v TCP4-LISTEN:9200,fork,ignoreeof,reuseaddr TCP4:192.168.98.11:9200,ignoreeof

OpenGLES 에뮬레이션 관련 오류(Could not load OpenGLES emulation library)가 발생하면 ldconfig를 편집해야 합니다(루트 권한):

root@kitploit:~
# echo "/path/to/your/sdk/tools/lib" > /etc/ld.so.conf.d/android.conf
# ldconfig

HOOKER 실행하기

특정 애플리케이션을 분석하기 위해 수동 실험을 실행하는 방법에 대한 데모는 이 동영상을 확인하세요.

실제 장치로 작업하기

실제 장치에서 Hooker를 사용하려면 먼저 전용 README를 읽어주세요.

구성 파일 설정

  • 수동 분석을 원하면 hooker_xp/sampleManualAnalysis.conf 파일을 복사하세요.
  • 자동 분석을 원하면 hooker_xp/sampleAutomaticAnalysis.conf 파일을 복사하세요.
  • 실제 장치에서 분석을 원하면 *RealDevice* 구성 파일 중 하나를 복사하세요.
  • 시스템 구성에 따라 유지된 구성 파일에 선언된 다양한 매개변수를 사용자 정의하세요. 샘플 구성 파일은 상세 설명이 포함되어 있으므로 주석을 읽어주세요.
  • 이전 단계와 관련하여 방금 빌드한 참조 AVD의 경로를 지정해야 합니다. 주석에 설명된 대로 AVD의 이름과 경로만 입력하면 됩니다(.avd 확장자 제외).

ElasticSearch 및 Kibana 시작

Hooker는 이벤트 저장에 ElasticSearch를 사용하고, 이를 분석하기 위한 프론트엔드로 Kibana를 사용합니다. 애플리케이션 분석을 돕기 위해 tools/kibana-dashboard 디렉토리에 Kibana 대시보드 예제를 제공했습니다. 이를 사용하려면 먼저 실험을 실행한 후 kibana-export.json 파일을 가져와야 합니다. 대시보드를 가져오려면 URL http://localhost:5601로 이동하여:

  • Settings -> Objects로 이동,
  • Import 클릭,
  • 사용 가능한 대시보드를 선택합니다.

실험 실행

Python 실험 스크립트는 hooker_xp 디렉토리에 있습니다:

root@kitploit:~
$ cd hooker_xp && python hooker_xp.py -c yourAnalysisConfigurationFile.conf 

Python 로그에 진행 상황이 표시됩니다.

기여하기

이 작업을 개선하는 데 도움을 주시면 기쁠 것입니다. GitHub 기능을 사용하여 버그 수정 및 개선 사항을 제공해 주세요.

저자 및 후원자

Hooker 프로젝트는 Georges Bossert와 Dimitri Kirchner가 시작했습니다. 두 사람 모두 프랑스 IT 보안 회사인 AMOSSYS에서 근무하고 있습니다 http://www.amossys.fr.

라이선스

이 소프트웨어는 GPLv3 라이선스에 따라 사용이 허가됩니다. 전체 라이선스 텍스트는 최상위 배포 디렉토리의 LICENSE 파일을 참조하세요.

도구 다운로드