Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Obfuscapk — Android 앱을 위한 자동 난독화 도구로, 블랙박스 방식으로 작동하며, 고급 난독화 기능을 지원하고, 새로운 기술로 쉽게 확장할 수 있는 모듈형 아키텍처를 갖추고 있습니다. | Kitploit
도구/GitHubGitHub/claudiugeorgiu/obfuscapk
Android SecurityStatic AnalysisDynamic Analysis (Sandboxing)Reverse EngineeringMobile SecurityPapers & ResearchLearning & EducationArchived
GitHubclaudiugeorgiu/obfuscapk

Obfuscapk

Android 앱을 위한 자동 난독화 도구로, 블랙박스 방식으로 작동하며, 고급 난독화 기능을 지원하고, 새로운 기술로 쉽게 확장할 수 있는 모듈형 아키텍처를 갖추고 있습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

[!IMPORTANT] 이 프로젝트는 보관되었으며 더 이상 유지 관리되지 않습니다.

가장 자주 묻는 질문 중 일부는 FAQ와 문제 해결에서 답변하고 있습니다.

Logo

안드로이드 앱을 위한 블랙박스 난독화 도구입니다.

Codacy Code Coverage Python Version License

Obfuscapk은 소스 코드 없이도 안드로이드 앱을 난독화할 수 있는 모듈식 Python 도구입니다. apktool을 사용하여 원본 apk 파일을 디컴파일하고, 디컴파일된 smali 코드, 리소스 및 매니페스트에 일부 난독화 기술을 적용한 후 새 애플리케이션을 빌드합니다. 난독화된 앱은 원본과 동일한 기능을 유지하지만, 내부적으로의 차이로 인해 때로는 새 애플리케이션이 원본과 매우 달라집니다 (예: 서명 기반 안티바이러스 소프트웨어에서).

🆕 Android App Bundle 지원 🆕

Obfuscapk은 BundleDecompiler를 사용하여 Android App Bundle (aab 파일)에 대한 지원을 추가하고 있습니다 (#121 참조). 이 새로운 기능을 사용하려면 여기에서 최신 버전의 BundleDecompiler를 다운로드하여 PATH에 포함된 디렉토리(예: Ubuntu의 /usr/local/bin 또는 /usr/bin)에 BundleDecompiler.jar로 저장하고 실행 권한이 설정되었는지 확인하세요.

[!IMPORTANT] BundleDecompiler는 아직 Windows에서 작동하지 않으므로 Windows 플랫폼에서는 Obfuscapk에서 앱 번들 난독화가 지원되지 않습니다. 또한 앱 번들 지원은 아직 초기 개발 단계에 있으므로 문제가 발생하거나 개선에 도움을 주고 싶다면 기여하기를 참조하세요.

❱ 출판

Obfuscapk에 대한 자세한 내용은 논문 "Obfuscapk: An open-source black-box obfuscation tool for Android apps"에서 확인할 수 있습니다. 논문은 다음과 같이 인용할 수 있습니다.```BibTeX @article{aonzo2020obfuscapk, title = "Obfuscapk: An open-source black-box obfuscation tool for Android apps", journal = "SoftwareX", volume = "11", pages = "100403", year = "2020", issn = "2352-7110", doi = "https://doi.org/10.1016/j.softx.2020.100403", url = "https://www.sciencedirect.com/science/article/pii/S2352711019302791", author = "Simone Aonzo and Gabriel Claudiu Georgiu and Luca Verderame and Alessio Merlo", keywords = "Android, Obfuscation, Program analysis" }

## ❱ 데모

![Demo](https://assets.kitploit.com/production/public/readmes/3132/632e285a29e53c28a5549c70012673a2761ca3ca4fd7eac3ad89be3d6a9a2a21.gif)



## ❱ 아키텍처

![Architecture](https://assets.kitploit.com/production/public/readmes/3132/da41bec35f1c09df38ad201aa1e74f0b1426dba0201162a70b4d5376b3da654e.png)

Obfuscapk은 모듈식이며 확장이 용이하도록 설계되었으므로,
[플러그인 시스템](https://github.com/tibonihoo/yapsy)을 사용하여 구축되었습니다. 따라서 각 난독화 도구는
추상
[기본 클래스](https://github.com/ClaudiuGeorgiu/Obfuscapk/blob/master/src/obfuscapk/obfuscator_category.py)
에서 상속받아 `obfuscate` 메서드를 구현해야 하는 플러그인입니다. 도구가 새로운
Android 애플리케이션 파일 처리를 시작하면,
[난독화 객체](https://github.com/ClaudiuGeorgiu/Obfuscapk/blob/master/src/obfuscapk/obfuscation.py)
를 생성하여 필요한 모든 정보(예: 디컴파일된 `smali` 코드의 위치)와
작업의 내부 상태(예: 이미 사용된 난독화 도구 목록)를 저장합니다.
그런 다음 난독화 객체는 `obfuscate` 메서드의 매개변수로 모든
활성 플러그인/난독화 도구에 (순차적으로) 전달되어 처리 및 수정됩니다. 활성 플러그인의 목록과
순서는 [명령줄 옵션](#-usage)을 통해 지정됩니다.

이 도구는 새로운 난독화 도구로 쉽게 확장 가능합니다: 난독화 기술을 구현하는 소스 코드와
플러그인 메타데이터(`<obfuscator-name>.obfuscator` 파일)를
[`src/obfuscapk/obfuscators`](https://github.com/ClaudiuGeorgiu/Obfuscapk/tree/master/src/obfuscapk/obfuscators)
디렉토리에 추가하기만 하면 됩니다(간단한 기존 난독화 도구인
[`Nop`](https://github.com/ClaudiuGeorgiu/Obfuscapk/blob/master/src/obfuscapk/obfuscators/nop/nop.py)
를 시작 예제로 참고하세요). 도구는 새로운 플러그인을 자동으로 감지하므로
추가 구성이 필요 없습니다(새 플러그인은 도구에 포함된 다른 모든 플러그인과 동일하게 취급됩니다).



## ❱ 설치

자신의 컴퓨터에 Obfuscapk의 작업 복사본을 얻는 방법은 두 가지입니다:
[Docker 사용](#docker-image) 또는 `Python 3` 환경에서
[소스 코드를 직접 사용](#from-source)하는 방법입니다. 두 경우 모두, 가장 먼저 해야 할 일은
이 저장소의 로컬 복사본을 얻는 것입니다. 프로젝트를 저장할 디렉토리에서 터미널을 열고
저장소를 클론합니다:```Shell
$ git clone https://github.com/ClaudiuGeorgiu/Obfuscapk.git

Docker 이미지


전제 조건

이것은 Obfuscapk을 설치하는 권장 방법입니다. 필요한 것은 최신 버전의 Docker가 설치되어 있는 것뿐입니다:```Shell $ docker --version Docker version 20.10.21, build baeda1f

#### 공식 Docker Hub 이미지

[공식 Obfuscapk Docker 이미지](https://hub.docker.com/r/claudiugeorgiu/obfuscapk)는 Docker Hub에서 사용할 수 있습니다 (이 저장소에서 자동으로 빌드됨):```Shell
$ # Download the Docker image.
$ docker pull claudiugeorgiu/obfuscapk
$ # Give it a shorter name.
$ docker tag claudiugeorgiu/obfuscapk obfuscapk

설치

Docker Hub에서 공식 이미지를 다운로드했다면 도구를 사용할 준비가 된 것이므로 사용 방법을 확인하시면 됩니다. 그렇지 않은 경우, 이전에 생성한 Obfuscapk/src/ 디렉토리(Dockerfile이 포함된 폴더)에서 다음 명령어를 실행하여 Docker 이미지를 빌드하십시오:```Shell $ # Make sure to run the command in Obfuscapk/src/ directory. $ # It will take some time to download and install all the dependencies. $ docker build -t obfuscapk .

Docker 이미지가 준비되면, 모든 것이 올바르게 설치되었는지 확인하기 위해 빠른 테스트를 수행하십시오:```Shell
$ docker run --rm -it obfuscapk --help
usage: python3 -m obfuscapk.cli [-h] -o OBFUSCATOR [-w DIR] [-d OUT_APK_OR_AAB]
...

Obfuscapk을 이제 사용할 준비가 되었습니다. 자세한 내용은 사용 방법을 참조하십시오.

소스에서


필수 조건

최신 버전의 apktool, apksigner 및 zipalign이 설치되어 있고 명령줄에서 사용할 수 있는지 확인하십시오:```Shell $ apktool Apktool v2.9.0 - a tool for reengineering Android apk files ...

```Shell
$ apksigner
Usage:  apksigner <command> [options]
        apksigner --version
        apksigner --help
...
$ zipalign
Zip alignment utility
Copyright (C) 2009 The Android Open Source Project
...

앱 번들 난독화를 지원하려면 BundleDecompiler가 필요하므로, 여기에서 최신 버전을 다운로드하여 PATH에 포함된 디렉토리(예: Ubuntu에서는 /usr/local/bin 또는 /usr/bin)에 BundleDecompiler.jar로 저장하고 실행 가능 플래그가 설정되었는지 확인하십시오.

BundleDecompiler와 apktool을 사용하려면 최신 버전의 Java가 필요합니다. zipalign과 apksigner는 Android SDK에 포함되어 있습니다. 실행 파일의 위치는 다음 환경 변수를 통해 지정할 수도 있습니다: APKTOOL_PATH, BUNDLE_DECOMPILER_PATH, APKSIGNER_PATH, ZIPALIGN_PATH (예: Ubuntu에서 동일한 터미널에서 Obfuscapk를 실행하기 전에 export APKTOOL_PATH=/custom/location/apktool을 실행하십시오).

위 도구 외에도 이 프로젝트의 유일한 요구 사항은 작동하는 Python 3 (최소 3.7) 설치와 해당 패키지 관리자 pip입니다.

설치

프로젝트의 메인 디렉토리(Obfuscapk/)에서 다음 명령을 실행하여 필요한 종속성을 설치하십시오:```Shell $ # Make sure to run the commands in Obfuscapk/ directory.

$ # The usage of a virtual environment is highly recommended. $ python3 -m venv venv $ source venv/bin/activate

$ # Install Obfuscapk's requirements. $ python3 -m pip install -r src/requirements.txt

요구 사항이 설치된 후, 모든 것이 올바르게 작동하는지 빠르게 테스트해 보세요:```Shell
$ cd src/
$ # The following command has to be executed always from Obfuscapk/src/ directory
$ # or by adding Obfuscapk/src/ directory to PYTHONPATH environment variable.
$ python3 -m obfuscapk.cli --help
usage: python3 -m obfuscapk.cli [-h] -o OBFUSCATOR [-w DIR] [-d OUT_APK_OR_AAB]
...

Obfuscapk을 이제 사용할 준비가 되었습니다. 자세한 내용은 사용 방법을 참조하세요.

❱ Usage

이제부터 Obfuscapk은 obfuscapk이라는 실행 파일로 간주됩니다. 따라서 도구를 설치한 방법에 따라 명령어를 조정해야 합니다.

도구 다운로드