Project Icon

WBBlades

基于文件解析的工具集

WBBlades提供基于Mach-O文件的应用分析和优化工具,涵盖App一键体检、包大小分析与崩溃解析等功能,并强化对OC和Swift的支持。其最新版本引入了直观的可视化界面,进一步优化了研发体验,使其更加符合高效与精确的开发需求。开发者还能通过命令行工具便捷地进行集成和使用,提升开发和调试的效率。

项目介绍

WBBlades 是一个基于 Mach-O 文件解析的工具集。该工具集为开发者提供了多种实用功能,包括应用程序一键体检(支持 OCSwift 的无用类检测)、包大小分析(支持单个静态库和动态库)、点对点崩溃解析(基于系统日志,支持华为和 Bugly 平台的崩溃堆栈解析,支持有符号和无符号状态),以及基于 Mach-O 文件的类自动提取与 Hook 能力。项目采用了多种技术手段,如汇编代码分析、架构提取、符号表剥离等,并支持对 iOS 15 以上 dyld_chained_fixups 的处理。此外,为了便于用户更快了解该项目,我们还提供了基于 GPT 的智能 Readme 功能。

工具概览

工具名称功能概述相关技术
智能 Readme问答互动形式帮助用户快速了解 WBBlades 项目和相关技术GPT 聊天
App 一键体检检测 Swift 和 OC 的无用类、无用资源,并提供包优化建议反汇编、文本指令提取、Mach-O 解析等
包大小分析检测静态库和动态库在 .ipa 文件中占用的实际大小架构剥离、静态库结构分析
崩溃解析利用 .app 或 dYSM 文件解析系统崩溃日志,支持华为和 Bugly 平台dYSM 文件解析、符号表提取、ips 文件解析等
Mach-O 类 Hook从 Mach-O 文件中自动提取类并进行 Hook使用 dyld_chained_fixups、binding、rebase 等解析方式

最新版本在命令行工具的基础上进行了全面的可视化实现,旨在提升研发效率。同时,对于一些难以复现和常规工具无法收集的崩溃(例如操作系统直接杀死应用进程),提供了基于系统日志的点对点崩溃解析功能。

安装及使用

安装

首先克隆项目代码,然后使用 CocoaPods 进行安装:

$ git clone https://github.com/wuba/WBBlades.git
$ cd WBBlades
$ pod install

可视化工具的使用

在目标选项中选择 WBBladesCrashApp。通过点击左侧功能区按钮,选择需要的工具(如无用类检测、包大小检测等),根据工具内提示进行操作,结果将输出到文本框中。

主页面

命令行工具的使用

选择 WBBlades 作为目标,编译后生成命令行工具。然后将生成的 blades 工具拷贝到 /usr/local/bin 目录下。例如:

sudo cp ${Your_BUILD_DIR}/blades /usr/local/bin

可执行的命令示例如下:

  • 一键诊断:

    $ blades -diagnose xxx.app
    
  • 无用代码检测:

    $ blades -unused xxx.app -from xxx.a xxx.a ...
    
  • 包大小分析:

    $ blades -size xxx.a xxx.framework ...
    
  • 无符号表日志符号化:

    $ blades -symbol xxx.app -logPath xxx.ips
    

工具特性介绍

无用代码检测的支持范围

支持检测 OC 类的静态调用、动态调用、Swift 类动态调用等多种场景。

包大小分析工具

可以快速检测静态库在链接后的大小,无需进行编译和链接。

无符号表日志符号化工具

在丢失 dSYM 文件的情况下,可以尝试通过 blades -symbol 恢复日志,主要适用于 OC 场景。

如何贡献及反馈

WBBlades 欢迎开发者提出宝贵建议,用户可通过提交 PR 或 Issue 提出问题及改进建议。如对该项目感兴趣,可以添加微信号 "zqlong320" 以加入 WBBlades 开发交流群。

相关技术文章

WBBlades 提供了一系列相关技术文章,助力开发者更深入地了解项目与实践应用。

致谢

感谢以下开源项目的支持和贡献:

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号