使用说明
apktool-mcp服务器(Zin逆向工程mcp套件的一部分)
⚡ 基于apktool构建的全自动MCP服务器,使用Claude等LLM分析Android APK,轻松发现漏洞、解析清单和逆向工程。
使用AI工具生成的图像。
🤖 什么是apktool-mcp服务器?
apktool mcp服务器 是用于的MCP服务器 Apk工具 直接与 模型上下文协议(MCP) 提供 Claude等法学硕士提供实时逆向工程支持.
思考:“分解→ 上下文感知代码审查→ 人工智能建议”——所有这些都是实时的。
观看演示!
https://github.com/user-attachments/assets/d50251b8-6b1c-4341-b18e-ae54eb24a847
- 解决CTF
https://github.com/user-attachments/assets/c783a604-a636-4e70-9fa8-37e3d219b20b
Zin MCP Suite中的其他项目
当前MCP工具
以下MCP工具可用:
build_apk()--从解码的APKTool项目构建APK。get_manifest()--从解码的APK项目中获取AndroidManifest.xml内容。get_apktool_yml()--从解码的APK项目中获取apktool.yml信息。list_smali_directories()--列出项目中的所有smali目录。list_smali_files()--列出特定smali目录中的smali文件,按包前缀进行筛选。get_smali_file()--按类名获取特定smali文件的内容。modify_smali_file()--修改特定smali文件的内容。list_resources()--列出项目中的资源,可选择按资源类型筛选。get_resource_file()--获取特定资源文件的内容。modify_resource_file()--修改特定资源文件的内容。search_in_file()--在具有指定扩展名的文件中搜索模式。clean_project()--清理项目目录以准备重新生成。decode_apk()--使用APKTool解码APK文件,提取资源和smali代码。
🗒️ 示例提示
🔍 基本代码理解
-
“列出dvac项目的所有smali目录。”
-
“显示dvac项目中包前缀com.vulnerable.comcomponent下的所有smali文件。”
-
“获取com.vulnerable.component.MainActivity类的smali代码。”
-
“将MainActivity.smali与其以前的版本进行比较,并显示差异。”
-
“在dvac项目的smali文件中搜索startActivity的使用情况。”
🛡️ 漏洞检测
-
“分析dvac AndroidManifest.xml中声明的权限,并标记危险的权限。”
-
“在项目中的所有.xml和.smali文件中搜索硬编码的URL或IP。”
-
“在smali文件中查找PendingIntent.getActivity的所有用法。”
-
“检查dvac的AndroidManifest.xml中导出的活动或接收器。”
-
“列出访问android.permission.SEND_SMS或READ_CONACTS的所有smali文件。”
🛠️ 逆向工程助手
-
“解码此APK:dvac.APK并创建一个名为dvac的项目。”
-
“创建一个名为测试工具的新APKTool项目。”
-
“在重建之前清理dvac项目。”
-
“从dvac项目中提取DEX文件以进行外部分析。”
-
“修改MainActivity.smali,在onCreate()的开头插入一条日志行。”
📦 静态分析
-
“从dvac项目获取完整的AndroidManifest.xml。”
-
“显示dvac项目的apktool.yml的内容。”
-
“列出布局类型的所有资源文件。”
-
“在所有资源和smali文件中搜索单词密码。”
-
“检查使用了哪些权限,并将其与典型的过度权限风险进行比较。”
🤖 AI代码修改
-
“修改MainActivity.smali中的onCreate()方法以添加吐司消息。”
-
“将strings.xml中的所有http://链接替换为https://。”
-
“将android:export=false属性添加到AndroidManifest.xml中的所有活动中。”
-
“修补LoginManager.smali中的validateLogin方法,使其始终返回true。”
-
“将日志记录语句添加到MainActivity.smali中的每个方法中。”
📄 文档和元数据
-
“列出工作区中所有已解码的APKTool项目。”
-
显示apktool.yml配置以查看版本、原始APK元数据和压缩设置
-
“通过ADB连接所有可用的Android设备。(要迁移到ADB MCP服务器。)”
-
“从其apktool.yml获取有关项目dvac的元数据。”
-
“检查服务器上当前安装的APKTool版本。”
🛠️ 入门指南
1.唐老鸭从释放:https://github.com/zinja-coder/apktool-mcp-server/releases
# 0. Download and install apktool
https://apktool.org/docs/install
# 1. Test whether apktool has been correctly configured in the environment variables
$ apktool -version
# 2. Download the apktool-mcp-server-<version>.zip
https://github.com/zinja-coder/apktool-mcp-server/releases
# 3.
unzip apktool-mcp-server-<version>.zip
├apktool-mcp-server/
├── apktool_mcp_server.py
├── requirements.txt
├── README.md
├── LICENSE
# 4. Navigate to apktool-mcp-server directory
cd apktool-mcp-server
# 5. This project uses uv - https://github.com/astral-sh/uv instead of pip for dependency management.
## a. Install uv (if you dont have it yet)
curl -LsSf https://astral.sh/uv/install.sh | sh
## b. OPTIONAL, if for any reasons, you get dependecy errors in apktool-mcp-server, Set up the environment
uv venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
## c. OPTIONAL Install dependencies
uv pip install httpx fastmcp
# The setup for apktool-mcp-server is done.
2.使用Olama和Zin MCP客户端在本地LLM上运行-推荐
⚡ 用于STDIO MCP服务器的轻量级、快速、简单、基于CLI的MCP客户端,以填补空白,并在运行Ollama和MCP服务器的本地LLM之间提供桥梁。
立即检查:https://github.com/zinja-coder/zin-mcp-client
演示:即将推出。..
🤖 3.克劳德桌面设置
确保Claude Desktop在启用MCP的情况下运行。
例如,我在Kali Linux中使用了以下内容:https://github.com/aaddrick/claude-desktop-debian
配置MCP服务器并将其添加到LLM文件中:
nano ~/.config/Claude/claude_desktop_config.json
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
其中包含以下内容:
{
"mcpServers": {
"apktool-mcp-server": {
"command": "/<path>/<to>/uv",
"args": [
"--directory",
"</PATH/TO/>apktool-mcp-server/",
"run",
"apktool_mcp_server.py"
]
}
}
}
替换:
path/to/uv与您的实际路径uv可执行path/to/apktool-mcp-server带有克隆此文件的绝对路径 仓库
然后,使用内置集成通过实时代码审查提示浏览代码并进行交互。
4.樱桃工作室设置
如果要在Cherry Studio中配置MCP工具,可以参考以下配置。
- 类型:stdio
- 命令:uv
- 论点:
--directory
path/to/apktool-mcp-server
run
apktool_mcp_server.py
path/to/apktool-mcp-server带有克隆此文件的绝对路径 仓库
报告bug、问题、功能建议、性能问题、一般问题、文档问题。
-
请使用相应的模板打开一个问题。
-
在Claude Desktop Client上测试,很快将测试对其他AI的支持!
🙏 鸣谢
此项目是一个MCP服务器 Apktool 工具,一个令人惊叹的开源Android逆向工程工具,由 @iBotPeaches所有核心APK解码和资源处理逻辑都属于它们。我只扩展了它来支持我的MCP服务器的AI功能。
Apktool的原始README.md包含在此存储库中以供参考和引用。
也非常感谢 @aaddrick 用于为基于Debian的Linux开发Claude桌面。
最后,感谢 @人类学 用于开发模型上下文协议和 @FastMCP 团队。
以及所有开源项目维护者和贡献者,他们提供库和依赖关系,使这样的项目成为可能。
📄 许可证
apktool-mcp服务器和所有相关项目都继承了Apache2.0
⚖️ 法律警告
免责声明
工具 apktool-mcp-server 该项目下的所有相关工具都严格用于教育、研究和道德安全评估目的。它们是“按原样”提供的,没有任何明示或暗示的保证。用户全权负责确保他们对这些工具的使用符合所有适用的法律、法规和道德准则。
通过使用 apktool-mcp-server,您同意仅在您有权测试的环境中使用它们,例如您拥有或有明确权限分析的应用程序。严禁将这些工具用于未经授权的逆向工程、侵犯知识产权或恶意活动。
开发商 apktool-mcp-server 对于因使用或误用这些工具而导致的任何损害、数据丢失、法律后果或其他后果,概不负责。用户对其行为及其使用造成的任何影响承担全部责任。
负责任地使用。尊重知识产权。遵循合乎道德的黑客行为。
🙌 贡献或支持
贡献
- 觉得有用吗?给它一个⭐️
- 有想法吗?打开一个 问题 或提交PR
- 在上面建东西?DM或提及我——我会将其添加到README中!
已审核并获得评估徽章
感谢Mseep.net审核并提供评估徽章。
内置于❤️ 面向逆向工程和人工智能社区。
