
Android 애플리케이션 식별 도구 - 패커, 보호기, 난독화 도구 및 특이점 - Android용 PEiD
APKiD는 APK가 어떻게 만들어졌는지에 대한 정보를 제공합니다. 많은 컴파일러, 패커, 난독화 도구 및 기타 이상한 것들을 식별합니다. Android용 PEiD입니다.

이 도구를 사용할 수 있는 용도에 대한 자세한 내용은 다음을 확인하십시오:
pip install apkid
APKiD를 Docker로 실행할 수도 있습니다! 물론 git과 Docker가 설치되어 있어야 합니다.
Docker 사용 방법:
git clone https://github.com/rednaga/APKiD
cd APKiD/
docker build . -t rednaga:apkid
docker/apkid.sh ~/reverse/targets/android/example/example.apk
[+] APKiD 2.1.0 :: from RedNaga :: rednaga.io
[*] example.apk!classes.dex
|-> compiler : dx
usage: apkid [-h] [-v] [-t TIMEOUT] [-r] [--scan-depth SCAN_DEPTH]
[--entry-max-scan-size ENTRY_MAX_SCAN_SIZE] [--typing {magic,filename,none}] [-j]
[-o DIR]
[FILE [FILE ...]]
APKiD - Android 애플리케이션 식별자 v2.1.2
positional arguments:
FILE apk, dex 또는 디렉토리
optional arguments:
-h, --help 이 도움말 메시지를 표시하고 종료
-v, --verbose 디버그 메시지 기록
scanning:
-t TIMEOUT, --timeout TIMEOUT Yara 스캔 타임아웃 (초 단위)
-r, --recursive 하위 디렉토리로 재귀
--scan-depth SCAN_DEPTH 중첩된 zip 스캔 시 깊이
--entry-max-scan-size ENTRY_MAX_SCAN_SIZE 스캔할 최대 zip 항목 크기 (바이트), 0 = 제한 없음
--typing {magic,filename,none} 스캔할 파일을 결정하는 방법
output:
-j, --json 스캔 결과를 JSON 형식으로 출력
-o DIR, --output-dir DIR 개별 결과를 여기에 작성 (--json을 암시)
APKiD가 인식하지 못하는 APK 또는 DEX를 발견하면 GitHub 이슈를 열고 다음을 알려주십시오:
저희는 탐지할 "흥미로운 것"에 대한 모든 종류의 개념을 열려 있습니다. 그러므로 패커, 컴파일러 또는 난독화 도구에만 국한하지 마십시오. 흥미로운 안티-디스어셈블러, 안티-VM, 안티-* 트릭이 있다면 이슈를 생성해 주십시오.
풀 리퀘스트를 환영합니다. 새 규칙을 제출하는 경우 규칙을 확인할 수 있도록 APK/DEX의 파일 해시를 포함해야 합니다.
이 도구는 이중 라이선스로 제공됩니다: 폐쇄 소스 프로젝트에 적합한 상용 라이선스와 오픈 소스 소프트웨어에서 사용할 수 있는 GPL 라이선스입니다.
필요에 따라 그 중 하나를 선택하고 해당 정책을 따라야 합니다. 각 라이선스 유형에 대한 정책 및 계약 세부 사항은 LICENSE.COMMERCIAL 및 LICENSE.GPL 파일에서 확인할 수 있습니다.
변경을 가하거나 자체 규칙을 개발하는 등의 목적으로 최신 버전을 설치하려면, 이 저장소를 클론하고 규칙을 컴파일한 후 패키지를 편집 가능 모드로 설치하십시오:
git clone https://github.com/rednaga/APKiD
cd APKiD
python prep-release.py
pip install -e .[dev,test]
위 방법이 로컬 머신 및 Python이 설치된 위치에 따른 권한 오류로 인해 작동하지 않는 경우 --user 플래그를 지정해 보십시오. 가상 환경을 사용하지 않는 경우 필요할 가능성이 높습니다:
pip install -e .[dev,test] --user
규칙을 업데이트한 경우 반드시 prep-release.py를 실행하여 다시 컴파일하십시오.
Windows를 사용하는 경우 컴파일 전에 Yara 3.11.0 및 yara-python-dex를 설치하십시오
pip install yara-python==3.11.0
pip install wheel
pip wheel --wheel-dir=yara-python-dex git+https://github.com/MobSF/yara-python-dex.git
pip install --no-index --find-links=yara-python-dex yara-python-dex
새 버전을 출시할 때 apkid/init.py에서 버전이 업데이트되었는지 확인하십시오.
테스트 실행에 관해서는 .travis.yml을 참조하여 개발 및 테스트 환경 설정 방법과 테스트 실행 방법을 확인하십시오.
컴파일된 규칙과 readme를 업데이트하고, 패키지를 빌드한 후 PyPI에 업로드하십시오:
./prep-release.py readme
rm -f dist/*
python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
자세한 내용은 Packaging Projects를 참조하십시오.