iOS底层原理班-大神MJ精选
最后更新于
最后更新于
1.底层上-逆向
2.底层下-原理
01 课程简介
02 学习条件
03 越狱的优点和缺点
04 完美越狱和非完美越狱
05 Cydia
06 必备软件安装
07 代码判断设备是否越狱
08 提高工作效率的工具
09 SSH01 简介
10 SSH02 Mac远端登录到IP
11 SSH03 root、mobile
12 SSL和SSH
13 SSH05 安全连接
14 SSH06 服务器公钥的保存和变更
15 SSH07 客户端认证
16 SSH08远程拷贝 文件权限
17 SSH09 22端口
18 SSH10 USB连接
19 SSH11 usbmuxd01 使用
20 SSH12 usbmuxd01 总结
21 SSH13 sh脚本
22 SSH14 iPhone终端中文输入
23 Cycipt01 基本使用
24 Cycipt02 常用语法
25 Cycipt03 定位登录方法
26 Cycipt04 定位文本输入框
27 Cycipt05 小结
28 Cycript06 封装cy文件
29 Cycript07 exports
30 Cycipt08 全局函数
31 Cycipt09 mjcript
32 Cycipt10 微信练习
33 Reveal
34 ipa的安装
35 逆向APP的思路
36 class dump01 基本使用
37 class dump02 细节
38 代码的编译过程
39 Hopper01 简单使用
40 Hopper02 UIKit伪代码分析
41 遗留问题解决
42 dsc01 简介
43 dsc02 优点
44 dsc03 dyld
45 dsc04 dsc extractor
46 Mach object01 文件类型
47 Mach%20object02 文件类型02
48 Mach%20object03 Universal%20Binary
49 Mach%20object04 基本结构01
50 Mach o object05 基本结构02
51 Mach%20object06 基本结构03
52 Mach%20object07 基本结构04
53 Mach%20object08 dyld
54 答疑交流
55 初识加壳
56 加壳原理
57 脱壳原理
58 LC ENCYPTION INFO
59 脱壳工具01 Clutch
60 脱壳工具02 dumpdecrypted
61 喜马拉雅FM逆向实战01 明确需求
62 喜马拉雅FM逆向实战02 安装theos
63 喜马拉雅FM逆向实战03 配置PATH
64 喜马拉雅FM逆向实战04 source命令
65 喜马拉雅FM逆向实战05 编写tweak代码
66 喜马拉雅FM逆向实战06 总结步骤
67 课程安排说明
68 Tweak练习01 SpringBoard01 分析
69 Tweak练习01 SpringBoard02 编码
70 Tweak练习02 微信01 分析
71 Tweak练习02 微信02 数量
72 Tweak练习02 微信03 返回cell
73 Tweak练习02 微信04 界面调整和退出
74 Tweak练习02 微信05 数据存储
75 Tweak练习02 微信06 加载图片资源
76 Tweak练习02 微信07 宏定义资源路径
77 Tweak原理01 安装过程
78 Tweak原理02 运行过程
79 Tweak原理03 常见疑惑
80 Tweak原理04 复习总结
81 Tweak原理05 从汇编角度分析
82 Tweak细节01 图片资源
83 Tweak细节02 多文件开发01
84 Tweak细节03 多文件开发02
85 Tweak细节04 release版本
86 Tweak练习03 内涵段子01 获取appid
87 Tweak练习03 内涵段子02 去除首页广告
88 Tweak练习03 内涵段子03 去除评论广告
89 Tweak练习03 内涵段子04 其他思路
90 Tweak练习03 内涵段子05 去除new标签和刷新按钮
91 Logos语法01 %25ctor、%25dtor
092 make%20package补充
093 %25new补充
094 腾讯视频01 MJAppTools
095 腾讯视频02 去除启动页面广告
096 腾讯视频03 去除视频广告
097 命令行工具01 main函数处理
098 命令行工具02 功能分析
099 命令行工具03 读取magic
100 命令行工具04 参数
101 命令行工具05 权限
102 命令行工具06 MJAppTools分析
103 课程说明
104 logify01 复习
105 logify02 %log
106 logify03 代码转换
107 logify04 查看打印信息
108 logify05 补充
109 动态调试01 Xcode动态调试的原理
110 动态调试02 动态调试任意APP的原理
111 动态调试03 debugserver环境搭建
112 动态调试04 lldb连接debugserver
113 答疑交流
114 LLDB01 简介
115 LLDB02 命令格式、help
116 LLDB03 expression
117 LLDB04 thread
118 LLDB05 流程控制
119 LLDB06 指令级别的命令
120 LLDB07 代码断点
121 LLDB08 断点命令
122 LLDB09 内存断点
123 LLDB10 模块查找
124 ASLR01 代码断点的注意点
125 ASLR02 MachO的虚拟内存分段
126 ASLR03 FileOffset、FileSize
127 ASLR04 小结、讨论
128 ASLR05 ASLR简介
129 ASLR06 获得函数的真实内存地址
130 ASLR07 函数在MachO文件中的位置
131 ASLR08 总结
132 ASLR09 全局变量在MachO文件中的位置
133 ASLR10 答疑
134 ARM64汇编01
135 ARM64汇编02 通用寄存器
136 ARM64汇编03 mov指令
137 ARM64汇编04 add、sub指令
138 ARM64汇编05 答疑
139 ARM64汇编06 cmp指令、cpsr寄存器
140 ARM64汇编07 b指令
141 ARM64汇编08 带条件的b指令 MP4
142 ARM64汇编09 带if else反汇编
143 ARM64汇编10 bl指令
144 ARM64汇编11 答疑
145 ARM64汇编12 ldr指令
146 ARM64汇编13 ldur指令
147 ARM64汇编14 ldp指令
148 ARM64汇编15 str、stur、stp指令
149 ARM64汇编16 wzr、xzr寄存器
150 ARM64汇编17 pc、lr寄存器
151 ARM64汇编18 bl指令的本质
152 ARM64汇编19 函数的分类
153 ARM64汇编20 叶子函数
154 ARM64汇编21 非叶子函数01 开辟栈空间
155 ARM64汇编22 非叶子函数02 恢复堆栈平衡
156 ARM64汇编23 答疑
157 ARM64汇编24 OC方法内存断点
158 ARM64汇编25 调试OC方法
159 ARM64汇编26 用debugserver启动APP
160 ARM64汇编27 破解命令行程序
161 ARM64汇编28 破解iOS程序
162 iOS签名机制01 了解签名
163 iOS签名机制02 加密解密简介
164 iOS签名机制03 对称密码
165 iOS签名机制04 密钥配送问题
166 iOS签名机制05 公钥密码
167 iOS签名机制06 混合密码系统
168 iOS签名机制07 总结
169 iOS签名机制08 单向散列函数01 基本概念
170 iOS签名机制09 单向散列函数02 使用场景
171 iOS签名机制10 数字签名01 基本概念
172 iOS签名机制11 数字签名02 使用流程
173 iOS签名机制12 数字签名03 存在的问题
174 iOS签名机制13 证书
175 iOS签名机制14 总结
176 iOS签名机制15 iOS签名机制01 具体流程
177 iOS签名机制16 iOS签名机制02 解释流程
178 iOS签名机制17 iOS签名机制03 具体步骤
179 iOS签名机制18 iOS签名机制04 总结
180 iOS签名机制19 iOS签名机制05 答疑
181 Category的本质01 基本使用
182 Category的本质02 分类的底层结构
183 Category的本质03 加载分类方法
184 Category的本质04 处理分类方法01
185 Category的本质05 处理分类方法02
186 Category的本质06 load
187 Category的本质07 initialize
188 Category的本质08 load和initialize的调用区别
189 Category的本质09 答疑
190 内存分配对齐01 现象观察
191 内存分配对齐02 源码分析
192 课程安排
193 iOS签名机制20 重签名01 情景分析
194 iOS签名机制21 重签名02 基本操作
195 iOS签名机制22 重签名03 GUI工具
196 iOS签名机制23 重签名04 tweak原理分析
197 iOS签名机制24 重签名05 动态库
198 iOS签名机制25 重签名06 其他APP
199 iOS签名机制26 重签名07 Bug修复
200 LLVM 01
201 LLVM 02
202 LLVM 03
203 LLVM 04
204 代码混淆01 简介
205 代码混淆02 实践
206 代码混淆03 ios class guard
207 代码混淆04 字符串加密
208 结束语
001 OC对象的本质01 OC和C C++
002 OC对象的本质02 将OC转换为C C++
003 OC对象的本质03 NSObject的内存本质
004 OC对象的本质04 class getInstanceSize、malloc size
005 OC对象的本质05 回答面试题
006 OC对象的本质06 窥探NSObject的内存
007 OC对象的本质07 Student的本质
008 OC对象的本质08 Student的内存布局
009 OC对象的本质09 更复杂的继承结构
010 OC对象的本质10 属性和方法
011 OC对象的本质11 答疑
012 OC对象的本质12 内存分配注意点
013 OC对象的本质13 alloc的size分析
014 OC对象的本质14 libmalloc源码
015 OC对象的本质15 glibc源码
016 OC对象的本质16 sizeof注意点
017 OC对象的分类01 instance对象
018 OC对象的分类02 class对象
019 OC对象的分类03 meta class对象
020 OC对象的分类04 object getClass内部实现
021 OC对象的分类05 答疑
022 isa和superclass01 isa
023 isa和superclass02 class的superclass
024 isa和superclass03 meta class的superclass
025 isa和superclass04 总结01
026 isa和superclass05 总结02
027 isa和superclass06 isa细节
028 isa和superclass07 class和meta class的结构
029 isa和superclass08 答疑
030 KVO01 基本使用
031 KVO02 存在的疑问
032 KVO03 本质分析
033 KVO04 本质验证
034 KVO05 窥探Foundation
035 KVO06 内部调用流程
036 KVO07 子类的内部方法01
037 KVO08 子类的内部方法02
038 KVO09 总结 答疑
039 KVO10 补充
040 KVC01 基本使用
041 KVC02 设值的原理
042 KVC03 取值的原理
043 Category01 基本使用
044 Category02底层结构
045 Category03源码分析01
046 Category04源码分析02
047 Category05 memmove、memcpy区别
048 Category06答疑
049 Cateogry07 load01 基本使用
050 Cateogry08 load02 调用原理
051 Cateogry09 load03 调用顺序
052 Cateogry10 initialize01 基本使用
053 Cateogry11 initialize02 源码分析
054 Cateogry12 initialize03 注意点
055 Cateogry13 load、initialize总结
056 关联对象01 分类添加属性
057 关联对象02 使用字典完善属性
058 关联对象03 使用字典存在的问题
059 关联对象04 基本用法
060 关联对象05 key的用法
061 关联对象06 答疑
062 关联对象07 底层数据结构01
063 关联对象08 底层数据结构02
064 block01 基本认识
065 block02 底层数据结构
066 block03 变量捕获01 auto变量
067 block04 变量捕获02 static变量
068 block05 变量捕获03 全局变量
069 block06 类型01
070 block07 类型02
071 block08 答疑
072 block09 copy
073 block10 对象类型的auto变量01
074 block11 对象类型的auto变量02
075 block12 对象类型的auto变量03
076 block13 block01 修改变量
077 block14 block02 本质
078 block15 block03 细节
079 block16 block04 内存管理01
080 block17 block05 内存管理02
081 block18 block06 forwarding
082 block19 block07 内存管理03
083 block20 block08 内存管理04
084 block21 循环引用01 问题
085 block22 循环引用02 ARC01
086 block23 循环引用03 ARC02
087 block24 循环引用04 MRC
088 block25 总结 答疑
089 Runtime01 简介
090 Runtime02 isa01 简介
091 Runtime03 isa02 需求
092 Runtime04 isa03 取值
093 Runtime05 isa04 设值
094 Runtime06 isa05 位域
095 Runtime07 isa06 共用体
096 Runtime08 isa07 总结
097 Runtime09 isa08 位运算补充
098 Runtime10 isa09 细节
099 Runtime11 方法01 Class的结构
100 Runtime12 方法02 method
101 Runtime13 方法03 Type%20Encoding
102 Runtime14 方法04 cache t
103 Runtime15 方法05 散列表缓存
104 Runtime16 方法06 查看缓存01
105 Runtime17 方法07 查看缓存02
106 Runtime18 objc msgSend01 简介
107 Runtime19 objc msgSend02 消息发送01
108 Runtime20 objc msgSend03 消息发送02
109 Runtime21 objc msgSend04 动态方法解析01
110 Runtime22 objc msgSend05 动态方法解析02
111 Runtime23 objc msgSend06 动态方法解析03
112 Runtime24 objc msgSend07 消息转发01
113 Runtime25 objc msgSend08 消息转发02
114 Runtime26 objc msgSend09 消息转发03
115 Runtime27 objc msgSend10 消息转发04
116 Runtime28 objc msgSend11 消息转发05
117 Runtime29 objc msgSend12 总结
118 Runtime30 super01
119 Runtime31 super02
120 Runtime32 答疑
121 Runtime33 class面试题01
122 Runtime34 class面试题02
123 Runtime35 super面试题01
124 Runtime36 super面试题02
125 Runtime37 super面试题03
126 Runtime38 super面试题04
127 Runtime39 super面试题05
128 Runtime40 答疑
129 Runtime41 LLVM的中间代码
130 Runtime42 API01 类
131 Runtime43 API02 成员变量01
132 Runtime44 API02 成员变量02
133 Runtime45 API02 成员变量03
134 Runtime46 API03 方法01
135 Runtime47 总结
136 Runtime48 API03 方法02
137 Runtime49 API03 方法03
138 Runloop01 基本认识
139 Runloop02 获取RunLoop对象
140 Runloop03 CFRunLoopModeRef
141 Runloop04 CFRunLoopModeRef的成员
142 Runloop05 CFRunLoopObserverRef
143 Runloop06 答疑
144 Runloop07 执行流程图
145 Runloop08 源码分析
146 Runloop09 调用细节
147 Runloop10 休眠的细节
148 Runloop11 NSTimer失效
149 Runloop12 线程保活01
150 Runloop13 线程保活02
151 Runloop14 线程保活03
152 Runloop15 线程保活04
153 Runloop16 答疑
154 Runloop17 线程保活05
155 Runloop18 线程保活06
156 Runloop19 线程的封装01 接口设计
157 Runloop20 线程的封装02 内部实现
158 Runloop21 线程的封装03 C语言方式实现
159 Runloop22 答疑
160 多线程01 基本概念
161 多线程02 gcd01
162 多线程03 gcd02
163 多线程04 gcd03
164 多线程05 gcd04
165 多线程06 面试题01
166 多线程07 GNUstep
167 多线程08 面试题02
168 多线程09 GCD队列组
169 多线程10 安全隐患分析
170 多线程11 OSSpinLock01
171 多线程12 OSSpinLock02
172 多线程13 OSSpinLock03
173 多线程14 答疑
174 多线程15 os unfair lock
175 多线程16 pthread mutex01
176 多线程17 pthread mutex02 递归锁
177 多线程18 自旋锁、互斥锁汇编分析
178 多线程19 pthread mutex03 条件
179 多线程20 NSLock、NSRecursiveLock、NSCondition
180 多线程21 答疑
181 多线程22 遗留问题解决
182 多线程23 NSconditionLock
183 多线程24 SerialQueue
184 多线程25 semaphore01 最大并发数量
185 多线程26 semaphore02 线程同步
186 多线程27 semaphore03 @synchronized
187 多线程28 同步方案性能对比
188 多线程29 自旋锁、互斥锁对比
189 多线程30 atomic
190 多线程31 读写安全01 简介
191 多线程32 读写安全02 pthread rwlock
192 多线程33 读写安全03 barrier async
193 内存管理01 定时器01
194 内存管理02 定时器02
195 内存管理03 定时器03
196 内存管理04 定时器04
197 内存管理05 NSProxy补充
198 内存管理06 GCD定时器01
199 内存管理07 GCD定时器02
200 内存管理08 GCD定时器03
201 内存管理09 内存布局
202 内存管理10 Tagged%20Pointer01
203 内存管理11 Tagged%20Pointer02
204 内存管理12 Tagged%20Pointer03
205 内存管理13 Tagged%20Pointer04
206 内存管理14 MRC01
207 内存管理15 MRC02
208 内存管理16 MRC03
209 内存管理17 MRC04
210 内存管理18 MRC05
211 内存管理19 copy01
212 内存管理20 copy02
213 内存管理21 copy03
214 内存管理22 copy04
215 内存管理23 copy05
216 内存管理24 copy06
217 内存管理25 引用计数的存储
218 内存管理26 weak指针的原理
219 内存管理27 autorelease原理01
220 内存管理28 autorelease原理02
221 内存管理29 autorelease原理03
222 内存管理30 autorelease原理04
223 内存管理31 autorelease原理05
224 内存管理32 RunLoop与autorelease01
225 内存管理33 RunLoop与autorelease02
226 性能优化01 CPU和GPU
227 性能优化02 产生卡顿的原因
228 性能优化03 卡顿优化01 CPU
229 性能优化04 卡顿优化02 GPU
230 性能优化05 卡顿优化03 卡顿检测
231 性能优化06 耗电优化
232 性能优化07 启动优化01 冷启动简介
233 性能优化08 启动优化02 分析
234 性能优化09 安装包瘦身
235 架构设计01 简介
236 架构设计02 MVC Apple
237 架构设计03 MVC 变种
238 架构设计04 MVP
239 架构设计05 MVVM
240 架构设计06 分层架构
241 架构设计07 设计模式简介
242 总结
yf01 OC对象的本质01 概述
yf02 OC对象的本质02 NSObject
yf03 OC对象的本质03 自定义类
yf04 OC对象的本质04 窥探内存结构
yf05 OC对象的本质05 更复杂的继承关系
yf06 OC对象的本质06 内存具体分析
yf07 OC对象的分类01 提问
yf08 OC对象的分类02 instance
yf09 OC对象的分类03 class
yf10 OC对象的分类04 meta class
yf11 isa和superclass01 调用对象方法和类方法的过程
yf12 isa和superclass02 class的superclass
yf13 isa和superclass03 metaclass的superclass
yf14 isa和superclass04 总结
yf15 Class的本质01 判断类对象的类型
yf16 Class的本质02 isa的细节
yf17 Class的本质03 结构分析
yf18 Class的本质04 instanceSize
yf19 Class的本质05 class rw t、class ro t
yf20 Class的本质06 证明isa和superclass的作用
yf21 KVO01 基本使用
yf22 KVO02 存在的疑问
yf23 KVO03 底层实现分析
yf24 KVO04 验证isa和IMP
yf25 KVO05 Foundation中的私有函数
yf26 KVO06 窥探类对象内存中的函数
yf27 KVO07 总结
yf28 KVO08 补充
yf29 OC对象的本质07 面试题补充
yf30 isa和superclass05 补充
RL01 初识RunLoop
RL02 RunLoop对象
RL03 RunLoop的Mode
RL04 RunLoop的运行逻辑01 内部结构
RL05 RunLoop的运行逻辑02 源码分析01
RL06 RunLoop的运行逻辑03 源码分析02
RL07 RunLoop的运行逻辑04 流程图
RL08 RunLoop的运行逻辑05 GCD
RL09 RunLoop的运行逻辑06 总结