# analysisapk **Repository Path**: Wnity/analysisapk ## Basic Information - **Project Name**: analysisapk - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-11 - **Last Updated**: 2025-12-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # APK IL2CPP 分析工具 ## 介绍 这是一个功能强大的Unity多平台分析工具,支持IL2CPP和Mono两种类型的Unity应用程序分析。工具提供了命令行、Web界面和桌面GUI三种使用方式,可以提取和分析多种Unity平台的DLL文件和程序集,并支持跨平台文件对比功能。 ## 支持的平台 ### 📱 移动平台 - **Android APK**: IL2CPP和Mono应用分析 - **iOS IPA**: IL2CPP和Mono应用分析,支持IPA文件和.app目录 ### 🖥️ 桌面平台 - **Windows Player**: IL2CPP和Mono构建分析 - **macOS应用**: IL2CPP和Mono应用分析,支持.app目录 ### 🎮 游戏主机平台 - **Nintendo Switch**: IL2CPP和Mono应用分析,支持Switch应用目录 ### 🐧 桌面Linux平台 - **Linux应用**: IL2CPP和Mono构建分析,支持x86_64和x86架构 ### 🌐 Web平台 - **WebGL构建**: IL2CPP和Mono构建分析,支持WebAssembly(.wasm/.wasm.br)和数据文件(.data) ## 主要功能 ### 🔍 多平台分析 - **自动检测**: 智能识别平台类型和Unity类型(IL2CPP/Mono) - **统一接口**: 一个工具支持所有Unity平台 - **详细信息**: 提取DLL、程序集、版本信息等 - **跨平台支持**: 在任何操作系统上分析所有平台文件 ### ⚖️ 跨平台对比 - **同平台对比**: 对比同一平台的不同版本 - **跨平台对比**: 对比不同平台的相同应用 - **混合对比**: 支持APK vs Windows Player等组合 - **详细分析**: 文件差异、大小变化、统计报告 ### 🖥️ 多种界面 - **命令行工具**: 适合批量处理和自动化,支持所有平台 - **Web界面**: 现代化浏览器界面,支持APK、ZIP、IPA文件上传 - **桌面GUI**: 基于tkinter的本地应用,支持拖拽和所有文件类型 ## 安装要求 ### 基础依赖 ```bash pip install -r requirements.txt ``` ### GUI依赖(可选) ```bash pip install -r requirements_gui.txt ``` ### 系统要求 - Python 3.7+ - Windows/Linux/macOS - Il2CppDumper工具(已包含在项目中) ### WebGL构建特殊要求 - **uwdtool.exe**: 用于解包WebGL的.data文件(从Il2CppDumper项目获取) - 详细说明请参考: [WebGL分析指南](README_WEBGL.md) ## 使用方法 ### 1. 命令行工具 #### 平台分析 ```bash # Android APK python find_il2cppso.py your_app.apk python analyze_unity_mono.py your_app.apk # Windows Player python analyze_unity_windows.py "C:/MyGame" # WebGL构建 python analyze_unity_webgl.py "C:/MyWebGLBuild" # macOS应用 python analyze_unity_macos.py "MyGame.app" # iOS应用 python analyze_unity_ios.py "MyGame.ipa" # Nintendo Switch应用 python analyze_unity_switch.py "MyGame_Switch" # Linux应用 python analyze_unity_linux.py "MyGame_Linux" # 统一分析器(推荐,自动检测平台) python unified_unity_analyzer.py your_app.apk python unified_unity_analyzer.py "C:/MyGame" python unified_unity_analyzer.py "MyGame.ipa" python unified_unity_analyzer.py "MyGame_Switch" python unified_unity_analyzer.py "MyGame_Linux" ``` #### 跨平台对比 ```bash # 同平台对比 python compare_apk_dlls.py app1.apk app2.apk # 跨平台对比 python compare_apk_dlls.py game.apk windows_player.zip python compare_apk_dlls.py game.ipa webgl_build.zip python compare_apk_dlls.py switch_app.zip game.apk python compare_apk_dlls.py linux_app.zip game.apk # 保留临时文件用于调试 python compare_apk_dlls.py app1.apk app2.apk --keep-temp ``` ### 2. Web界面 #### 启动Web服务器 ```bash python web_server.py # 或使用批处理文件 start_server.bat ``` 访问 http://localhost:5000 使用Web界面 #### Web功能 - **多平台支持**: 上传APK、ZIP、IPA文件进行分析 - **ZIP文件支持**: Windows Player、WebGL构建、macOS应用、Switch应用、Linux应用 - **自动检测**: 智能识别文件类型和平台 - **文件对比**: 同时上传两个文件进行跨平台对比 - **结果展示**: 详细的分析结果和统计信息 - **响应式设计**: 支持移动设备访问 ### 3. 桌面GUI #### 启动GUI应用 ```bash python gui_app.py # 或使用批处理文件 start_gui.bat ``` #### GUI功能 - **拖拽支持**: 直接拖拽Unity文件到窗口(APK、ZIP、IPA) - **实时日志**: 查看分析过程的详细日志 - **结果展示**: 文件列表、统计信息等多标签页展示 - **对比模式**: 支持跨平台Unity文件的对比分析 ## 输出结果 ### IL2CPP分析结果 - **DLL文件**: 提取的所有DLL文件 - **架构信息**: 支持的CPU架构列表(APK) - **文件统计**: DLL数量、大小分布等 - **去重处理**: 自动去除重复的DLL文件 ### Mono分析结果 - **程序集文件**: Unity程序集、系统程序集、第三方程序集 - **分类统计**: 按类型分组的程序集信息 - **Unity版本**: 检测到的Unity版本信息 ### Windows Player结果 - **IL2CPP**: 生成的DLL文件和统计信息 - **Mono**: 程序集分析和版本检测 - **目录结构**: 自动识别Player类型和结构 ### Switch应用结果 - **IL2CPP**: 从main可执行文件生成的DLL文件 - **Mono**: Data/Managed目录中的程序集分析 - **应用信息**: 文件大小、Unity版本检测等 - **自动检测**: 智能识别IL2CPP或Mono类型 ### Linux应用结果 - **IL2CPP**: 从Linux可执行文件生成的DLL文件 - **Mono**: *_Data/Managed目录中的程序集分析 - **架构检测**: 自动识别x86_64或x86架构 - **应用信息**: 文件大小、Unity版本、可执行文件信息等 ### 对比结果 - **共同文件**: 两个文件都包含的内容 - **独有文件**: 仅在某个文件中存在的内容 - **大小差异**: 文件大小变化的详细统计 - **总体统计**: 文件数量、总大小等对比信息 ## 项目结构 ``` analysisapk/ ├── Il2CppDumper-win-v6.7.46/ # 第三方工具 ├── templates/ # Web界面模板 │ ├── base.html # 基础模板 │ ├── index.html # 主页 │ ├── compare.html # 对比页面 │ ├── result.html # 分析结果页面 │ └── compare_result.html # 对比结果页面 ├── find_il2cppso.py # IL2CPP APK分析工具 ├── analyze_unity_mono.py # Mono APK分析工具 ├── analyze_unity_windows.py # Windows Player分析工具 ├── analyze_unity_webgl.py # WebGL构建分析工具 ├── analyze_unity_macos.py # macOS应用分析工具 ├── analyze_unity_ios.py # iOS应用分析工具 ├── analyze_unity_switch.py # Switch应用分析工具 ├── analyze_unity_linux.py # Linux应用分析工具 ├── unified_apk_analyzer.py # APK统一分析器 ├── unified_unity_analyzer.py # Unity统一分析器(所有平台) ├── compare_apk_dlls.py # 文件对比工具 ├── web_server.py # Web服务器 ├── gui_app.py # GUI应用程序 ├── start_server.bat # Web服务器启动脚本 ├── start_gui.bat # GUI启动脚本 ├── README.md # 项目说明 ├── README_WINDOWS.md # Windows Player功能说明 ├── README_PLATFORMS.md # 多平台支持说明 ├── README_LINUX.md # Linux应用功能说明 └── README_GUI.md # GUI应用说明 ``` ## 高级功能 ### 临时文件管理 - `--keep-temp`: 保留临时分析文件用于调试 - 自动清理: 分析完成后自动删除临时文件 ### 输出控制 - `--overwrite`: 覆盖已存在的输出目录 - 自定义输出目录: 指定分析结果保存位置 ### 调试功能 - 详细日志输出 - 命令行参数打印 - 错误堆栈跟踪 ## 常见问题 ### Q: 支持哪些文件类型? A: 支持Unity APK文件和Unity Windows Player目录,会自动检测文件类型和Unity类型(IL2CPP/Mono)。 ### Q: 分析失败怎么办? A: 检查文件是否完整,查看日志输出中的错误信息,使用`--keep-temp`保留临时文件进行调试。 ### Q: 可以对比不同类型的文件吗? A: 可以,工具支持APK与Windows Player之间的跨平台对比,以及IL2CPP与Mono之间的跨类型对比。 ### Q: Web界面无法访问? A: 确保防火墙允许5000端口,或者修改web_server.py中的端口配置。 ### Q: Windows Player如何上传到Web界面? A: 将Windows Player目录打包为ZIP文件,然后上传到Web界面进行分析。 ## 更新日志 查看 [CHANGELOG.md](CHANGELOG.md) 了解详细的版本更新信息。 ## 许可证 本项目基于开源许可证发布,详见项目中的LICENSE文件。 ## 贡献 欢迎提交Issue和Pull Request来改进这个项目!