Android包标识符
ak-apkid的Python项目详细描述
阿普基德
APKiD为您提供有关APK是如何制作的信息。它识别 许多编译器、打包程序、模糊处理程序和其他奇怪的东西。它是 PEiD适用于Android。在
屏幕截图2019-05-07上午10:55
有关此工具的用途的详细信息,请查看:
安装
不幸的是,在将pull request合并到 附属国。以下是您的操作方法:
git clone --recursive -b "v3.10.0" https://github.com/VirusTotal/yara-python.git /tmp/yara-python cd /tmp/yara-python/yara curl https://patch-diff.githubusercontent.com/raw/VirusTotal/yara/pull/1073.patch | git am cd .. python setup.py build --enable-dex python setup.py install
如果没有Yara的这个补丁,dexlib1检测规则也会失败 任何依赖字符串大小的规则。在
如果不需要这个补丁,下面是安装方法。首先,安装 yara-python与 --enable-dex编译Yara的DEX模块:
^{pr2}$最后,安装APKiD:
pip install apkid
Docker
你也可以用 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 Application Identifier v2.1.0 positional arguments: FILE apk, dex, or directory optional arguments: -h, --help show this help message and exit -v, --verbose log debug messages scanning: -t TIMEOUT, --timeout TIMEOUT Yara scan timeout (in seconds) -r, --recursive recurse into subdirectories --scan-depth SCAN_DEPTH how deep to go when scanning nested zips --entry-max-scan-size ENTRY_MAX_SCAN_SIZE max zip entry size to scan in bytes, 0 = no limit --typing {magic,filename,none} method to decide which files to scan output: -j, --json output scan results in JSON format -o DIR, --output-dir DIR write individual results here (implies --json)
提交新的打包程序/编译器/模糊处理程序
如果你遇到APKiD无法识别的APK或DEX,请 打开GitHub问题并告诉我们:
- 你认为它是什么-模糊,包装等
- 文件哈希(MD5、SHA1、SHA256)
我们愿意接受你对“某物”的任何概念 很有趣,所以不要只局限于包装工, 编译器或模糊处理程序。如果有一个有趣的反反汇编程序, 反虚拟机,反*把戏,请发一个问题。在
欢迎拉取请求。如果要提交新规则,请确保 包含APK/DEX的文件哈希,以便我们可以检查规则。在
许可证
此工具具有双重许可证:商业许可证 对于封闭源代码项目和可以在开放环境中使用的GPL许可证 源软件。在
根据您的需要,您必须选择其中一个并遵循它 政策。每种许可证类型的策略和协议的详细信息 在LICENSE.COMMERCIAL和 LICENSE.GPL个文件。在
黑客攻击
如果要安装最新版本以进行更改, 开发自己的规则,等等,只需克隆这个存储库,编译 规则,并在可编辑模式下安装包:
git clone https://github.com/rednaga/APKiD cd APKiD ./prep-release.py pip install -e .[dev,test]
如果上述操作不起作用,则由于权限错误而依赖于 本地计算机和安装了Python的位置,请尝试指定 --user标志。如果您不使用虚拟 环境:
pip install -e .[dev,test] --user
如果更新任何规则,请确保运行prep-release.py到 重新编译它们。在
对于维护人员
本节是为包维护人员准备的。在
要更新PyPI包:
./prep-release.py readme rm -f dist/* python setup.py sdist bdist_wheel twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
更新生成的README.rst,直到Pandoc学会如何翻译 使用链接到RestructedText的图像进行标记:
..image:: https://travis-ci.org/rednaga/APKiD.svg?branch=master :target: https://travis-ci.org/rednaga/APKiD ..image:: https://img.shields.io/pypi/v/apkid.svg :target: https://pypi.python.org/pypi/apkid ..image:: https://img.shields.io/pypi/pyversions/apkid.svg :target: https://pypi.python.org/pypi/apkid ..image:: https://img.shields.io/pypi/format/apkid.svg :target: https://pypi.python.org/pypi/apkid ..image:: https://img.shields.io/pypi/l/apkid.svg :target: https://pypi.python.org/pypi/apkid
有关详细信息,请参阅Packaging Projects。在
- 项目
标签: