这门课解决什么问题
很多做安全测试或底层开发的人转到 macOS 环境后,会发现苹果生态相对封闭,一个应用装上后,它的目录结构怎么组织、依赖哪些动态库、可执行文件怎么加载,往往缺乏系统说明。这门课就是针对这个场景:把 macOS 平台上应用软件的分析流程拆开,从包结构、Mach-O 文件格式、代码签名到动态库加载机制,逐块讲清楚。它不是教你写一个完整 App,而是帮你建立“拿到一个陌生软件后怎么拆开看”的工程能力。
适合什么基础,建议先看哪几块
资料默认你已经有一点编程概念,最好接触过 C 或 Objective-C 语法,能看懂基本的头文件和函数声明;如果你只写过脚本,前几节关于目录结构和包管理的部分能跟上,但到 Mach-O 文件头和加载命令时可能会吃力。建议先把应用目录结构这两节看完,建立对 .app 包内各资源文件位置的直觉;接着直接跳到代码签名和加载命令这两块,因为这两部分决定了软件能不能正常启动、依赖关系怎么解析,是后续静态分析的前置基础。Hopper 相关的那节可以放在中段,配合 Mach-O 头一起看,理解偏移地址和反汇编视图怎么对应。
学完能独立做什么,资料怎么配合练习
学完后,你应该能独立完成这几件事:用包管理工具搭建分析环境、定位一个应用的可执行文件和资源文件位置、解析 Mach-O 文件头中的加载命令并判断它依赖哪些动态库、读懂代码签名信息并判断签名状态。练习时不要只看视频:自己找一台 macOS 设备,挑一个结构简单的小工具作为样本,边看边用命令行工具查看文件头和签名信息,把课程里讲的字段对着真实文件走一遍。遇到 Category 和 Objective-C 相关章节,可以找一个用 OC 写的开源小项目做对照,验证分类机制在二进制里的呈现方式。这样配合下来,资料才不会停留在“看过”层面。
掌握基于macOS平台的软件分析的原理、步骤以及详细过程
课程目录
* 01 macOS软件分析实战/
* 01 课程介绍.mp4 05:49
* 02 HomeBrew安装.mp4 08:34
* 03 应用软件的目录结构(1).mp4 10:42
* 04 应用软件的目录结构(2).mp4 14:35
* 05 SMC技术与Hopper软件.mp4 05:15
* 06 Mach-O文件头.mp4 15:37
* 07 ASLR与Mach-O文件头(1).mp4 10:05
* 08 ASLR与Mach-O文件头(2).mp4 05:03
* 09 代码签名codesign.mp4 08:57
* 10 加载命令LoadCommand.mp4 18:04
* 11 LOAD_DYLIB命令类型.mp4 15:28
* 12 Objective-C中的分类Category.mp4 05:53
* 13 狸猫换太子:Objective-C类方法的替换.mp4 14:54
* 14 导出Objective-C程序中的Header内容.mp4 09:09
* 15 dylib文件的配置及使用(1).mp4 16:54
* 16 dylib文件的配置及使用(2).mp4 17:19
* 17 Framework的开发和使用.mp4 17:48
* 18 自定义打包的dmg文件.mp4 12:15
* 19 lldb调试入门:获取二维码字符串(1).mp4 16:17
* 20 lldb调试入门:获取二维码字符串(2).mp4 13:25
* 21 Xcode调试入门:无源码程序调试.mp4 12:38
* 22 Xcode调试入门:自定义动态库调试.mp4 16:28
* 23 Xcode调试入门:用自定义的动态库调试无源码的可执行程序.mp4 21:08
* 24 代码演示:获取应用程序的版本信息.mp4 06:19
* 25 代码演示:输出软件自身的调试信息.mp4 17:30
* 26 代码演示:调用应用程序中的类的方法.mp4 12:00
* 27 代码演示:调用应用程序中的类的实例方法.mp4 10:24
* 28 代码演示:创建一个基于TCP的Socket Server.mp4 17:04
* 29 代码演示:创建一个基于TCP的Socket Client.mp4 14:48
* 30 代码演示:在Framework中集成Socket Clien.mp4 06:58
* 31 代码演示:JSON字符串解析.mp4 10:53
* 32 代码演示:OC对象的JSON序列化.mp4 07:25
* 33 代码演示:构建JSON字符串并将其发送到Server端.mp4 12:04
* 34 Xcode调试:获取扫描二维码后的用户基本信息.mp4 11:09
* 35 Xcode调试:获取扫描二维码后的系统通知信息.mp4 19:04
* 36 小工具制作:编写一个头文件代码转换器(1).mp4 17:27
* 37 小工具制作:编写一个头文件代码转换器(2).mp4 18:49
* 38 代码演示:在程序启动后自动点击登录按钮.mp4 14:05
* 39 代码演示:让程序自动发送鼠标点击屏幕的事件.mp4 19:20
* 40 代码演示:让软件实现全屏截图.mp4 07:38
* 41 代码演示:在软件中使用API实现指定窗口截图.mp4 08:41
* 42 代码演示:创建一个可以上载文件的Web Server.mp4 20:21
* 43 代码演示:创建一个可以下载上载文件的Web Client.mp4 17:41
* 44 代码演示:在Framework中集成Web Client.mp4 08:44






