课程介绍(A000280):
得遇名师,突飞猛进!iOS培训王者MJ(李明杰)老师精心研发,iOS进阶课程,实用技术不断的更新和升级,更快帮助职场人士在开发领域脱颖而出。远程视频教学,无须长途奔袭,碎片化时间学习,成长随时随地!
课程目录:
课程1 iOS底层原理班(上)/APP逆向实战/加壳脱壳/数据安全/编译原理
01
课程简介
【录播】课程简介(11分钟) 免费试学
【录播】学习条件(6分钟) 免费试学
【资料】课程简介课件(zip,135.7KB) 免费试学
02
环境搭建
【资料】环境搭建课件(zip,14.1MB) 免费试学
【录播】越狱的优点和缺点(10分钟) 免费试学
【录播】完美越狱和非完美越狱(3分钟) 免费试学
【录播】Cydia(6分钟) 免费试学
【录播】必备软件安装(13分钟) 免费试学
【录播】代码判断设备是否越狱(8分钟) 免费试学
【录播】提高工作效率的工具(7分钟) 免费试学
03
SSH(一)
【资料】SSH课件(zip,1.8MB)
【录播】简介(6分钟)
【录播】Mac远程登录到iPhone(6分钟)
【录播】root、mobile(8分钟)
【录播】SSL和SSH(3分钟)
【录播】安全连接(10分钟)
【录播】服务器公钥的保存和变更(13分钟)
【录播】客户端认证(12分钟)
【录播】远程拷贝-文件权限(11分钟)
【录播】22端口(4分钟)
04
SHH(二)
【录播】USB连接(7分钟)
【录播】usbmuxd01-使用(11分钟)
【录播】usbmuxd02-总结(7分钟)
【录播】sh脚本(12分钟)
【录播】iPhone终端中文输入(6分钟)
05
Cycript(一)
【资料】Cycript课件(zip,2.2MB)
【录播】基本使用(14分钟)
【录播】常用语法(12分钟)
【录播】定位登录方法(13分钟)
【录播】定位文本输入框(12分钟)
【录播】小节(6分钟)
【录播】封装cy文件(14分钟)
【录播】exports(11分钟)
【录播】全局函数(9分钟)
【录播】mjcript(14分钟)
06
Cycript(二)
【录播】微信练习(8分钟)
07
Reveal
【资料】Reveal课件(zip,3.9MB)
【录播】Reveal(9分钟)
08
初识Mach-O
【资料】初识Mach-O课件(zip,2.4MB)
【录播】ipa的安装(8分钟)
【录播】逆向APP的思路(6分钟)
【录播】class-dump01-基本使用(6分钟)
【录播】class-dump02-细节(8分钟)
【录播】代码的编译过程(12分钟)
【录播】Hopper01-简单使用(5分钟)
【录播】Hopper01-简单使用(5分钟)
【录播】Hopper02-UIKit伪代码分析(11分钟)
【录播】遗留问题解决(10分钟)
09
dsc
【资料】dsc课件(zip,11.6MB)
【录播】简介(11分钟)
【录播】优点(6分钟)
【录播】dyld(11分钟)
【录播】dsc_extractor(13分钟)
10
Mach-O
【资料】Mach-O课件(zip,2.0MB)
【录播】文件类型01(13分钟)
【录播】文件类型02(11分钟)
【录播】Universal Binary(18分钟)
【录播】基本结构01(7分钟)
【录播】基本结构02(7分钟)
【录播】基本结构03(12分钟)
【录播】基本结构04(7分钟)
【录播】dyld(10分钟)
11
加壳脱壳
【资料】加壳脱壳课件(zip,1.5MB)
【录播】初识加壳(15分钟)
【录播】加壳原理(7分钟)
【录播】脱壳原理(5分钟)
【录播】LC_ENCYPTION_INFO(8分钟)
【录播】脱壳工具01-Clutch(15分钟)
【录播】脱壳工具02-dumpdecrypted(13分钟)
12
喜马拉雅FM
【资料】喜马拉雅FM课件(zip,911.2KB)
【录播】明确需求(10分钟)
【录播】安装theos(12分钟)
【录播】配置PATH(8分钟)
【录播】source命令(3分钟)
【录播】编写tweak代码(13分钟)
【录播】总结步骤(10分钟)
13
Tweak(一)
【录播】SpringBoard01-分析(15分钟)
【录播】SpringBoard02-编码(11分钟)
【录播】微信01-分析(14分钟)
【录播】微信02-数量(11分钟)
【录播】微信03-返回cell(8分钟)
【录播】微信04-界面调整和退出(12分钟)
【录播】微信05-数据存储(11分钟)
【录播】微信06-加载图片资源(15分钟)
【录播】微信07-宏定义资源路径(8分钟)
14
Tweak(二)
【录播】Tweak原理01-安装过程(11分钟)
【录播】Tweak原理02-运行过程(8分钟)
【录播】Tweak原理03-常见疑惑(9分钟)
【录播】Tweak原理04-复习总结(10分钟)
【录播】Tweak原理05-从汇编角度分析(16分钟)
【录播】Tweak细节01-图片资源(4分钟)
【录播】Tweak细节02-多文件开发01(10分钟)
【录播】Tweak细节03-多文件开发02(5分钟)
【录播】Tweak细节04-release版本(5分钟)
15
Tweak(三)
【录播】内涵段子01-获取appid(11分钟)
【录播】内涵段子02-去除首页广告(18分钟)
【录播】内涵段子03-去除评论广告(11分钟)
【录播】内涵段子04-其他思路(18分钟)
【录播】内涵段子05-去除new标签和刷新按钮(14分钟)
【录播】Logos语法01-%ctor、%dtor(9分钟)
【录播】make package补充(11分钟)
【录播】%new补充(8分钟)
16
腾讯视频
【录播】MJAppTools(12分钟)
【录播】去除启动页面广告(8分钟)
【录播】去除视频广告(12分钟)
17
命令行工具
【录播】main函数处理(15分钟)
【录播】功能分析(12分钟)
【录播】读取magic(15分钟)
【录播】参数(10分钟)
【录播】权限(16分钟)
【录播】MJAppTools分析(5分钟)
18
logify
【录播】复习(21分钟)
【录播】%log(12分钟)
【录播】代码转换(20分钟)
【录播】查看打印信息(10分钟)
【录播】补充(8分钟)
19
动态调试
【资料】动态调试课件(zip,472.9KB)
【录播】Xcode动态调试的原理(18分钟)
【录播】动态调试任意APP的原理(9分钟)
【录播】debugserver环境搭建(16分钟)
【录播】lldb连接debugserver(14分钟)
20
LLDB(一)
【录播】简介(9分钟)
【录播】命令格式、help(11分钟)
【录播】expression(14分钟)
【录播】thread(8分钟)
【录播】流程控制(10分钟)
【录播】指令级别的命令(10分钟)
【录播】代码断点(14分钟)
【录播】断点命令(7分钟)
【录播】内存断点(10分钟)
21
LLDB(二)
【录播】模块查找(12分钟)
22
ASLR
【录播】代码断点的注意点(11分钟)
【录播】MachO的虚拟内存分段(9分钟)
【录播】FileOffset、FileSize(16分钟)
【录播】小结、讨论(17分钟)
【录播】ASLR简介(7分钟)
【录播】获得函数的真实内存地址(10分钟)
【录播】函数在MachO文件中的位置(12分钟)
【录播】总结(8分钟)
【录播】全局变量在MachO文件中的位置(15分钟)
【录播】答疑(24分钟)
23
ARM64汇编(一)
【资料】ARM64汇编课件(zip,30.6MB)
【录播】简介(8分钟)
【录播】通用寄存器(9分钟)
【录播】mov指令(16分钟)
【录播】add、sub指令(13分钟)
【录播】答疑(9分钟)
【录播】cmp指令、cpsr寄存器(13分钟)
【录播】b指令(5分钟)
【录播】带条件的b指令(17分钟)
【录播】带if-else反汇编(9分钟)
24
ARM64汇编(二)
【录播】bl指令(16分钟)
【录播】答疑(9分钟)
【录播】ldr指令(16分钟)
【录播】ldur指令(7分钟)
【录播】ldp指令(9分钟)
【录播】str、stur、stp指令(12分钟)
【录播】wzr、xzr寄存器(7分钟)
【录播】pc、lr寄存器(14分钟)
【录播】bl指令的本质(7分钟)
【录播】函数的分类(14分钟)
25
ARM64汇编(三)
【录播】叶子函数(15分钟)
【录播】非叶子函数01-开辟栈空间(10分钟)
【录播】非叶子函数02-恢复堆栈平衡(18分钟)
【录播】答疑(14分钟)
【录播】OC方法内存断点(13分钟)
【录播】调试OC方法(19分钟)
【录播】用debugserver启动APP(5分钟)
【录播】破解命令行程序(14分钟)
【录播】破解iOS程序(15分钟)
26
iOS签名机制(一)
【资料】iOS签名机制课件(zip,10.5MB)
【录播】了解签名(5分钟)
【录播】加密解密简介(11分钟)
【录播】对称密码(8分钟)
【录播】密钥配送问题(6分钟)
【录播】公钥密码(8分钟)
【录播】混合密码系统(11分钟)
【录播】总结(10分钟)
【录播】单向散列函数01-基本概念(13分钟)
【录播】单向散列函数02-使用场景(16分钟)
27
iOS签名机制(二)
【录播】基本概念(10分钟)
【录播】使用流程(10分钟)
【录播】存在的问题(13分钟)
【录播】证书(12分钟)
【录播】总结(7分钟)
28
iOS签名机制(三)(上)
【录播】具体流程(20分钟)
【录播】解释流程(9分钟)
【录播】具体步骤(8分钟)
【录播】总结(6分钟)
【录播】答疑(13分钟)
【录播】重签名04-情景分析(15分钟)
【录播】重签名05-GUI工具(6分钟)
29
iOS签名机制(三)(下)
【录播】重签名06-tweak原理分析(15分钟)
【录播】重签名07-动态库(23分钟)
【录播】重签名08-Bug修复(23分钟)
课程2 iOS底层原理班(下)/OC对象/关联对象/多线程/内存管理/性能优化
01
OC对象的本质(一)
【资料】OC对象的本质课件(zip,7.8MB) 免费试学
【录播】OC对象的本质01-OC和C_C++(7分钟) 免费试学
【录播】OC对象的本质02-将OC转换为C_C++(9分钟) 免费试学
【录播】OC对象的本质03-NSObject的内存本质(8分钟) 免费试学
【录播】class_getInstanceSize、malloc_size(12分钟)
【录播】OC对象的本质05-回答面试题(8分钟)
【录播】OC对象的本质06-窥探NSObject的内存(13分钟) 免费试学
【录播】OC对象的本质07-Student的本质(11分钟) 免费试学
【录播】OC对象的本质08-Student的内存布局(12分钟) 免费试学
【录播】OC对象的本质09-更复杂的继承结构(15分钟) 免费试学
02
OC对象的本质(二)
【录播】OC对象的本质10-属性和方法(9分钟)
【录播】OC对象的本质11-答疑(11分钟)
【录播】OC对象的本质12-内存分配注意点(14分钟)
【录播】OC对象的本质13-alloc的size分析(10分钟)
【录播】OC对象的本质14-libmalloc源码(14分钟)
【录播】OC对象的本质15-glibc源码(9分钟)
【录播】OC对象的本质16-sizeof注意点(8分钟)
03
OC对象的分类
【资料】OC对象的分类课件(zip,197.0KB)
【录播】OC对象的分类01-instance对象(11分钟)
【录播】OC对象的分类02-class对象(9分钟)
【录播】OC对象的分类03-meta-class对象(14分钟)
【录播】OC对象的分类04-object_getClass内部实现(16分钟)
【录播】OC对象的分类05-答疑(8分钟)
04
isa和superclass
【资料】isa和superclass课件(zip,923.7KB)
【录播】isa和superclass01-isa(17分钟)
【录播】isa和superclass02-class的superclass(9分钟)
【录播】isa和superclass03-meta-class的superclass(6分钟)
【录播】isa和superclass04-总结01(26分钟)
【录播】isa和superclass05-总结02(19分钟)
【录播】isa和superclass06-isa细节(20分钟)
【录播】isa和superclass7-class和meta-class的结构(31分钟)
【录播】isa和superclass08-答疑(8分钟)
05
KVO(一)
【资料】KVO课件(zip,1.5MB)
【录播】KVO01-基本使用(17分钟)
【录播】KVO02-存在的疑问(8分钟)
【录播】KVO03-本质分析(19分钟)
【录播】KVO04-本质验证(19分钟)
【录播】KVO05-窥探Foundation(16分钟)
【录播】KVO06-内部调用流程(6分钟)
【录播】KVO07-子类的内部方法01(13分钟)
【录播】KVO08-子类的内部方法02(9分钟)
【录播】KVO09-总结-答疑(12分钟)
06
KVO(二)
【录播】KVO10-补充(8分钟)
07
KVC
【资料】KVC课件(zip,53.1KB)
【录播】KVC01-基本使用(10分钟)
【录播】KVC02-设值的原理(19分钟)
【录播】KVC03-取值的原理(10分钟)
08
Category(一)
【资料】Category课件(zip,414.9KB)
【录播】Category01-基本使用(12分钟)
【录播】Category02-底层结构(20分钟)
【录播】Category03-源码分析01(20分钟)
【录播】Category04-源码分析02(27分钟)
【录播】Category05-memmove、memcpy区别(6分钟)
【录播】Category06-答疑(9分钟)
【录播】Category07-load01-基本使用(14分钟)
【录播】Category08-load02-调用原理(13分钟)
【录播】Category09-load03-调用顺序(25分钟)
09
Category(二)
【录播】Category10-initialize01-基本使用(16分钟)
【录播】Category11-initialize02-源码分析(19分钟)
【录播】Category12-initialize03-注意点(23分钟)
【录播】Category13-load、initialize总结(10分钟)
10
关联对象
【资料】关联对象课件(zip,58.1KB)
【录播】关联对象01-分类添加属性(11分钟)
【录播】关联对象02-使用字典完善属性(10分钟)
【录播】关联对象03-使用字典存在的问题(8分钟)
【录播】关联对象04-基本用法(16分钟)
【录播】关联对象05-key的用法(20分钟)
【录播】关联对象06-答疑(6分钟)
【录播】关联对象07-底层数据结构01(10分钟)
【录播】关联对象08-底层数据结构02(25分钟)
11
block(一)
【资料】block课件(zip,3.7MB)
【录播】block01-基本认识(24分钟)
【录播】block02-底层数据结构(23分钟)
【录播】block03-变量捕获01-auto变量(10分钟)
【录播】block04-变量捕获02-static变量(14分钟)
【录播】block05-变量捕获03-全局变量(24分钟)
【录播】block06-类型01(19分钟)
【录播】block07-类型02(26分钟)
【录播】block08-答疑(9分钟)
【录播】block09-copy(21分钟)
12
block(二 )
【录播】block10-对象类型的auto变量01(18分钟)
【录播】block11-对象类型的auto变量02(19分钟)
【录播】block12-对象类型的auto变量03(17分钟)
【录播】block13-__block01-修改变量(7分钟)
【录播】block14-__block02-本质(17分钟)
【录播】block15-__block03-细节(19分钟)
【录播】block16-__block04-内存管理01(18分钟)
【录播】block17-__block05-内存管理02(11分钟)
【录播】block18-__block06-forwarding(7分钟)
【录播】block19-__block07-内存管理03(11分钟)
13
block(三)
【录播】block20-__block08-内存管理04(17分钟)
【录播】block21-循环引用01-问题(16分钟)
【录播】block22-循环引用02-ARC01(12分钟)
【录播】block23-循环引用03-ARC02(7分钟)
【录播】block24-循环引用04-MRC(6分钟)
【录播】block25-总结-答疑(14分钟)
14
Runtime(一)
【资料】Runtime课件(zip,2.9MB)
【录播】Runtime01-简介(9分钟)
【录播】Runtime02-isa01-简介(7分钟)
【录播】Runtime03-isa02-需求(11分钟)
【录播】Runtime04-isa03-取值(21分钟)
【录播】Runtime05-isa04-设值(11分钟)
【录播】Runtime06-isa05-位域(19分钟)
【录播】Runtime07-isa06-共用体(25分钟)
【录播】Runtime08-isa07-总结(25分钟)
【录播】Runtime09-isa08-位运算补充(20分钟)
15
Runtime(二)
【录播】Runtime10-isa09-细节(20分钟)
【录播】Runtime11-方法01-Class的结构(24分钟)
【录播】Runtime12-方法02-method_t(11分钟)
【录播】Runtime13-方法03-Type Encoding(12分钟)
【录播】Runtime14-方法04-cache_t(14分钟)
【录播】Runtime15-方法05-散列表缓存(25分钟)
【录播】Runtime16-方法06-查看缓存01(15分钟)
【录播】Runtime17-方法07-查看缓存02(24分钟)
【录播】Runtime18-objc_msgSend01-简介(12分钟)
【录播】Runtime19-objc_msgSend02-消息发送01(24分钟)
16
Runtime(三)
【录播】Runtime20-objc_msgSend03-消息发送02(12分钟)
【录播】Runtime21-objc_msgSend04-动态方法解析01(22分钟)
【录播】Runtime22-objc_msgSend05-动态方法解析02(15分钟)
【录播】Runtime23-objc_msgSend06-动态方法解析03(5分钟)
【录播】Runtime24-objc_msgSend07-消息转发01(11分钟)
【录播】Runtime25-objc_msgSend08-消息转发02(13分钟)
【录播】Runtime26-objc_msgSend09-消息转发03(21分钟)
【录播】Runtime27-objc_msgSend10-消息转发04(18分钟)
【录播】Runtime28-objc_msgSend11-消息转发05(16分钟)
【录播】Runtime29-objc_msgSend12(17分钟)
17
Runtime(四)
【录播】Runtime30-super01(8分钟)
【录播】Runtime31-super02(23分钟)
【录播】Runtime32-答疑(11分钟)
【录播】Runtime33-class面试题01(12分钟)
【录播】Runtime34-class面试题02(19分钟)
【录播】Runtime35-super面试题01(9分钟)
【录播】Runtime36-super面试题02(16分钟)
【录播】Runtime37-super面试题03(30分钟)
【录播】Runtime38-super面试题04(13分钟)
【录播】Runtime39-super面试题05(17分钟)
18
Runtime(五)
【录播】Runtime40-答疑(6分钟)
【录播】Runtime41-LLVM的中间代码(17分钟)
【录播】Runtime42-API01-类(27分钟)
【录播】Runtime43-API02-成员变量01(8分钟)
【录播】Runtime44-API02-成员变量02(13分钟)
【录播】Runtime45-API02-成员变量03(28分钟)
【录播】Runtime46-API03-方法01(9分钟)
【录播】Runtime47-总结(11分钟)
【录播】Runtime48-API03-方法02(27分钟)
【录播】Runtime49-API03-方法03(25分钟)
19
RunLoop(一)
【资料】RunLoop课件(zip,1.3MB)
【录播】Runloop01-基本认识(13分钟)
【录播】Runloop02-获取RunLoop对象(13分钟)
【录播】Runloop03-CFRunLoopModeRef(19分钟)
【录播】Runloop04-CFRunLoopModeRef的成员(10分钟)
【录播】Runloop05-CFRunLoopObserverRef(18分钟)
【录播】Runloop06-答疑(9分钟)
【录播】Runloop07-执行流程图(14分钟)
【录播】Runloop08-源码分析(23分钟)
【录播】Runloop09-调用细节(9分钟)
20
Runloop(二)
【录播】Runloop10-休眠的细节(12分钟)
【录播】Runloop11-NSTimer失效(17分钟)
【录播】Runloop12-线程保活01(12分钟)
【录播】Runloop13-线程保活02(7分钟)
【录播】Runloop14-线程保活03(18分钟)
【录播】Runloop15-线程保活04(16分钟)
【录播】Runloop16-答疑(5分钟)
【录播】Runloop17-线程保活05(23分钟)
【录播】Runloop18-线程保活06(5分钟)
【录播】Runloop19-线程的封装01-接口设计(14分钟)
21
Runloop(三)
【录播】Runloop20-线程的封装02-内部实现(18分钟)
【录播】Runloop21-线程的封装03-C语言方式实现(15分钟)
【录播】Runloop22-答疑(4分钟)
22
多线程(一)
【资料】多线程课件(zip,2.3MB)
【录播】多线程01-基本概念(13分钟)
【录播】多线程02-gcd01(10分钟)
【录播】多线程03-gcd02(12分钟)
【录播】多线程04-gcd03(17分钟)
【录播】多线程05-gcd04(10分钟)
【录播】多线程06-面试题01(16分钟)
【录播】多线程07-GNUstep(10分钟)
【录播】多线程08-面试题02(6分钟)
【录播】多线程09-GCD队列组(9分钟)
23
多线程(二)
【录播】多线程10-安全隐患分析(23分钟)
【录播】多线程11-OSSpinLock01(25分钟)
【录播】多线程12-OSSpinLock02(11分钟)
【录播】多线程13-OSSpinLock03(20分钟)
【录播】多线程14-答疑(6分钟)
【录播】多线程15-os_unfair_lock(11分钟)
【录播】多线程16-pthread_mutex01(14分钟)
【录播】多线程17-pthread_mutex02-递归锁(20分钟)
【录播】多线程18-自旋锁、互斥锁汇编分析(20分钟)
【录播】多线程19-pthread_mutex03-条件(28分钟)
24
多线程(三)
【录播】NSLock、NSRecursiveLock、NSCondition(21分钟)
【录播】多线程21-答疑(2分钟)
【录播】多线程22-遗留问题解决(26分钟)
【录播】多线程23-NSConditionLock(18分钟)
【录播】多线程24-SerialQueue(8分钟)
【录播】多线程25-semaphore01-最大并发数量(9分钟)
【录播】多线程26-semaphore02-线程同步(11分钟)
【录播】多线程27-@synchronized(18分钟)
【录播】多线程28-同步方案性能对比(15分钟)
【录播】多线程29-自旋锁、互斥锁对比(15分钟)
25
多线程(四)
【录播】多线程30-atomic(19分钟)
【录播】多线程31-读写安全01-简介(15分钟)
【录播】多线程32-读写安全02-pthread_rwlock(10分钟)
【录播】多线程33-读写安全03-barrier_async(13分钟)
26
内存管理(一)
【资料】内存管理课件(zip,1.8MB)
【录播】内存管理01-定时器01(17分钟)
【录播】内存管理02-定时器02(3分钟)
【录播】内存管理03-定时器03(16分钟)
【录播】内存管理04-定时器04(15分钟)
【录播】内存管理05-NSProxy补充(8分钟)
【录播】内存管理06-GCD定时器01(18分钟)
【录播】内存管理07-GCD定时器02(18分钟)
【录播】内存管理08-GCD定时器03(16分钟)
【录播】内存管理09-内存布局(20分钟)
27
内存管理(二)
【录播】内存管理10-Tagged Pointer01(20分钟)
【录播】内存管理11-Tagged Pointer02(17分钟)
【录播】内存管理12-Tagged Pointer03(6分钟)
【录播】内存管理13-Tagged Pointer04(15分钟)
【录播】内存管理14-MRC01(11分钟)
【录播】内存管理15-MRC02(16分钟)
【录播】内存管理16-MRC03(16分钟)
【录播】内存管理17-MRC04(11分钟)
【录播】内存管理18-MRC05(8分钟)
【录播】内存管理19-copy01(10分钟)
28
内存管理(三)
【录播】内存管理20-copy02(22分钟)
【录播】内存管理21-copy03(6分钟)
【录播】内存管理22-copy04(16分钟)
【录播】内存管理23-copy05(12分钟)
【录播】内存管理24-copy06(10分钟)
【录播】内存管理25-引用计数的存储(10分钟)
【录播】内存管理26-weak指针的原理(20分钟)
【录播】内存管理27-autorelease原理01(12分钟)
【录播】内存管理28-autorelease原理02(18分钟)
【录播】内存管理29-autorelease原理03(17分钟)
29
内存管理(四)
【录播】内存管理30-autorelease原理04(9分钟)
【录播】内存管理31-autorelease原理05(6分钟)
【录播】内存管理32-RunLoop与autorelease01(10分钟)
【录播】内存管理33-RunLoop与autorelease02(18分钟)
30
性能优化
【资料】性能优化课件(zip,1.0MB)
【录播】性能优化01-CPU和GPU(6分钟)
【录播】性能优化02-产生卡顿的原因(6分钟)
【录播】性能优化03-卡顿优化01-CPU(12分钟)
【录播】性能优化04-卡顿优化02-GPU(9分钟)
【录播】性能优化05-卡顿优化03-卡顿检测(5分钟)
【录播】性能优化06-耗电优化(15分钟)
【录播】性能优化07-启动优化01-冷启动简介(7分钟)
【录播】性能优化08-启动优化02-分析(11分钟)
【录播】性能优化09-安装包瘦身(13分钟)
31
架构设计
【录播】架构设计01-简介(5分钟)
【录播】架构设计02-MVC-Apple(17分钟)
【录播】架构设计03-MVC-变种(22分钟)
【录播】架构设计04-MVP(13分钟)
【录播】架构设计05-MVVM(16分钟)
【录播】架构设计06-分层架构(13分钟)
【录播】架构设计07-设计模式简介(5分钟)
【录播】总结(7分钟)
课程3 LLVM框架/LLVM编译流程/Clang前端/LLVM IR/LLVM应用与实践
01
LLVM:编译器中的王者01
【回放】LLVM:编译器中的王者(8月11日 20:30-21:30)
文件目录:
小码哥iOS底层原理班-大神MJ精选(上下班加周末班)完结无秘 |
│ │ |
│ │ |
│ ├─1.底层上-逆向 |
│ │ ├─day01 |
│ │ │ 01-课程简介.mp4 |
│ │ │ 02-学习条件.mp4 |
│ │ │ 03-越狱的优点和缺点.mp4 |
│ │ │ 04-完美越狱和非完美越狱.mp4 |
│ │ │ 05-Cydia.mp4 |
│ │ │ 06-必备软件安装.mp4 |
│ │ │ 07-代码判断设备是否越狱.mp4 |
│ │ │ 08-提高工作效率的工具.mp4 |
│ │ │ 09-SSH01-简介.mp4 |
│ │ │ 10-SSH02-Mac远端登录到IP.mp4 |
│ │ │ 11-SSH03-root、mobile.mp4 |
│ │ │ 12-SSL和SSH.mp4 |
│ │ │ |
│ │ ├─day02 |
│ │ │ 13-SSH05-安全连接.mp4 |
│ │ │ 14-SSH06-服务器公钥的保存和变更.mp4 |
│ │ │ 15-SSH07-客户端认证.mp4 |
│ │ │ 16-SSH08远程拷贝-文件权限.mp4 |
│ │ │ 17-SSH09-22端口.mp4 |
│ │ │ 18-SSH10-USB连接.mp4 |
│ │ │ 19-SSH11-usbmuxd01-使用.mp4 |
│ │ │ 20-SSH12-usbmuxd01-总结.mp4 |
│ │ │ 21-SSH13-sh脚本.mp4 |
│ │ │ 22-SSH14-iPhone终端中文输入.mp4 |
│ │ │ 23-Cycipt01-基本使用.mp4 |
│ │ │ 24-Cycipt02-常用语法.mp4 |
│ │ │ 25-Cycipt03-定位登录方法.mp4 |
│ │ │ 26-Cycipt04-定位文本输入框.mp4 |
│ │ │ 27-Cycipt05-小结.mp4 |
│ │ │ |
│ │ ├─day03 |
│ │ │ 24-Cycipt02-常用语法.mp4 |
│ │ │ 25-Cycipt03-定位登录方法.mp4 |
│ │ │ 28-Cycript06-封装cy文件.mp4 |
│ │ │ 29-Cycript07-exports.mp4 |
│ │ │ 30-Cycipt08-全局函数.mp4 |
│ │ │ 31-Cycipt09-mjcript.mp4 |
│ │ │ 32-Cycipt10-练习.mp4 |
│ │ │ 33-Reeal.mp4 |
│ │ │ 34-ipa的安装.mp4 |
│ │ │ 35-逆向APP的思路.mp4 |
│ │ │ 36-class-dump01-基本使用.mp4 |
│ │ │ 37-class-dump02-细节.mp4 |
│ │ │ 38-代码的编译过程.mp4 |
│ │ │ 39-Hopper01-简单使用.mp4 |
│ │ │ 40-Hopper02-UIKit伪代码分析.mp4 |
│ │ │ |
│ │ ├─day04 |
│ │ │ 41-遗留问题解决.mp4 |
│ │ │ 42-dsc01-简介.mp4 |
│ │ │ 43-dsc02-优点.mp4 |
│ │ │ 44-dsc03-dyld.mp4 |
│ │ │ 45-dsc04-dsc_extractor.mp4 |
│ │ │ 46-Mach-object01-文件类型.mp4 |
│ │ │ 47-Mach%20object02-文件类型02.mp4 |
│ │ │ 48-Mach%20object03-Uniersal%20Binary.mp4 |
│ │ │ 49-Mach%20object04-基本结构01.mp4 |
│ │ │ 50-Mach-o-object05-基本结构02.mp4 |
│ │ │ 51-Mach%20object06-基本结构03.mp4 |
│ │ │ 52-Mach%20object07-基本结构04.mp4 |
│ │ │ 53-Mach%20object08-dyld.mp4 |
│ │ │ 54-答疑交流.mp4 |
│ │ │ |
│ │ │ |
│ │ ├─day05 |
│ │ │ 55-初识加壳.mp4 |
│ │ │ 56-加壳原理.mp4 |
│ │ │ 57-脱壳原理.mp4 |
│ │ │ 58-LC_ENCYPTION_INFO.mp4 |
│ │ │ 59-脱壳工具01-Clutch.mp4 |
│ │ │ 60-脱壳工具02-dumpdecrypted.mp4 |
│ │ │ 61-喜马拉雅FM逆向实战01-明确需求.mp4 |
│ │ │ 62-喜马拉雅FM逆向实战02-安装theos.mp4 |
│ │ │ 63-喜马拉雅FM逆向实战03-配置PATH.mp4 |
│ │ │ 64-喜马拉雅FM逆向实战04-source命令.mp4 |
│ │ │ 65-喜马拉雅FM逆向实战05-编写tweak代码.mp4 |
│ │ │ 66-喜马拉雅FM逆向实战06-总结步骤.mp4 |
│ │ │ 67-课程安排说明.mp4 |
│ │ │ 代码.zip |
│ │ │ |
│ │ ├─day06 |
│ │ │ -06-代码.zip |
│ │ │ 68-Tweak练习01-SpringBoard01-分析.mp4 |
│ │ │ 69-Tweak练习01-SpringBoard02-编码.mp4 |
│ │ │ 70-Tweak练习02-01-分析.mp4 |
│ │ │ 71-Tweak练习02-02-数量.mp4 |
│ │ │ 72-Tweak练习02-03-返回cell.mp4 |
│ │ │ 73-Tweak练习02-04-界面调整和退出.mp4 |
│ │ │ 74-Tweak练习02-05-数据存储.mp4 |
│ │ │ 75-Tweak练习02-06-加载图片资源.mp4 |
│ │ │ 76-Tweak练习02-07-宏定义资源路径.mp4 |
│ │ │ 77-Tweak原理01-安装过程.mp4 |
│ │ │ 78-Tweak原理02-运行过程.mp4 |
│ │ │ 79-Tweak原理03-常见疑惑.mp4 |
│ │ │ |
│ │ ├─day07 |
│ │ │ -07-代码.zip |
│ │ │ 80-Tweak原理04-复习总结.mp4 |
│ │ │ 81-Tweak原理05-从汇编角度分析.mp4 |
│ │ │ 82-Tweak细节01-图片资源.mp4 |
│ │ │ 83-Tweak细节02-多文件开发01.mp4 |
│ │ │ 84-Tweak细节03-多文件开发02.mp4 |
│ │ │ 85-Tweak细节04-release版本.mp4 |
│ │ │ 86-Tweak练习03-内涵段子01-获取appid.mp4 |
│ │ │ 87-Tweak练习03-内涵段子02-去除首页广告.mp4 |
│ │ │ 88-Tweak练习03-内涵段子03-去除评论广告.mp4 |
│ │ │ 89-Tweak练习03-内涵段子04-其他思路.mp4 |
│ │ │ 90-Tweak练习03-内涵段子05-去除new标签和刷新按钮.mp4 |
│ │ │ 91-Logos语法01-%25ctor、%25dtor.mp4 |
│ │ │ |
│ │ ├─day08 |
│ │ │ 092-make%20package补充.mp4 |
│ │ │ 093-%25new补充.mp4 |
│ │ │ 094-腾讯视频01-MJAppTools.mp4 |
│ │ │ 095-腾讯视频02-去除启动页面广告.mp4 |
│ │ │ 096-腾讯视频03-去除视频广告.mp4 |
│ │ │ 097-命令行工具01-main函数处理.mp4 |
│ │ │ 098-命令行工具02-功能分析.mp4 |
│ │ │ 099-命令行工具03-读取magic.mp4 |
│ │ │ 100-命令行工具04-参数.mp4 |
│ │ │ 101-命令行工具05-权限.mp4 |
│ │ │ 102-命令行工具06-MJAppTools分析.mp4 |
│ │ │ 103-课程说明.mp4 |
│ │ │ |
│ │ ├─day09 |
│ │ │ 104-logify01-复习.mp4 |
│ │ │ 105-logify02-%log.mp4 |
│ │ │ 106-logify03-代码转换.mp4 |
│ │ │ 107-logify04-查看打印信息.mp4 |
│ │ │ 108-logify05-补充.mp4 |
│ │ │ 109-动态调试01-Xcode动态调试的原理(1).mp4 |
│ │ │ 109-动态调试01-Xcode动态调试的原理.mp4 |
│ │ │ 110-动态调试02-动态调试任意APP的原理.mp4 |
│ │ │ 111-动态调试03-debugserer环境搭建(1).mp4 |
│ │ │ 111-动态调试03-debugserer环境搭建.mp4 |
│ │ │ 112-动态调试04-lldb连接debugserer.mp4 |
│ │ │ 113-答疑交流.mp4 |
│ │ │ |
│ │ ├─day10 |
│ │ │ 114-LLDB01-简介.mp4 |
│ │ │ 115-LLDB02-命令格式、help.mp4 |
│ │ │ 116-LLDB03-expression.mp4 |
│ │ │ 117-LLDB04-thread.mp4 |
│ │ │ 118-LLDB05-流程控制.mp4 |
│ │ │ 119-LLDB06-指令级别的命令.mp4 |
│ │ │ 120-LLDB07-代码断点.mp4 |
│ │ │ 121-LLDB08-断点命令.mp4 |
│ │ │ 122-LLDB09-内存断点.mp4 |
│ │ │ 123-LLDB10-模块查找.mp4 |
│ │ │ |
│ │ ├─day11 |
│ │ │ 124-ASLR01-代码断点的注意点.mp4 |
│ │ │ 125-ASLR02-MachO的虚拟内存分段.mp4 |
│ │ │ 126-ASLR03-FileOffset、FileSize.mp4 |
│ │ │ 127-ASLR04-小结、讨论.mp4 |
│ │ │ 128-ASLR05-ASLR简介.mp4 |
│ │ │ 129-ASLR06-获得函数的真实内存地址.mp4 |
│ │ │ 130-ASLR07-函数在MachO文件中的位置.mp4 |
│ │ │ 131-ASLR08-总结.mp4 |
│ │ │ 132-ASLR09-全局变量在MachO文件中的位置.mp4 |
│ │ │ 133-ASLR10-答疑.mp4 |
│ │ │ |
│ │ ├─day12 |
│ │ │ -12-ARMTest.zip |
│ │ │ 134-ARM64汇编01.mp4 |
│ │ │ 135-ARM64汇编02-通用寄存器.mp4 |
│ │ │ 136-ARM64汇编03-mo指令.mp4 |
│ │ │ 137-ARM64汇编04-add、sub指令.mp4 |
│ │ │ 138-ARM64汇编05-答疑.mp4 |
│ │ │ 139-ARM64汇编06-cmp指令、cpsr寄存器.mp4 |
│ │ │ 140-ARM64汇编07-b指令.mp4 |
│ │ │ 141-ARM64汇编08-带条件的b指令.MP4.mp4 |
│ │ │ 142-ARM64汇编09-带if-else反汇编.mp4 |
│ │ │ 143-ARM64汇编10-bl指令.mp4 |
│ │ │ 144-ARM64汇编11-答疑.mp4 |
│ │ │ |
│ │ ├─day13 |
│ │ │ -13-ARMTest.zip |
│ │ │ -13-堆栈平衡.xlsm |
│ │ │ 145-ARM64汇编12-ldr指令.mp4 |
│ │ │ 146-ARM64汇编13-ldur指令.mp4 |
│ │ │ 147-ARM64汇编14-ldp指令.mp4 |
│ │ │ 148-ARM64汇编15-str、stur、stp指令.mp4 |
│ │ │ 149-ARM64汇编16-wzr、xzr寄存器.mp4 |
│ │ │ 150-ARM64汇编17-pc、lr寄存器.mp4 |
│ │ │ 151-ARM64汇编18-bl指令的本质.mp4 |
│ │ │ 152-ARM64汇编19-函数的分类.mp4 |
│ │ │ 153-ARM64汇编20-叶子函数.mp4 |
│ │ │ 154-ARM64汇编21-非叶子函数01-开辟栈空间.mp4 |
│ │ │ 155-ARM64汇编22-非叶子函数02-恢复堆栈平衡.mp4 |
│ │ │ 156-ARM64汇编23-答疑.mp4 |
│ │ │ |
│ │ ├─day14 |
│ │ │ -14-代码.zip |
│ │ │ 157-ARM64汇编24-OC方法内存断点.mp4 |
│ │ │ 158-ARM64汇编25-调试OC方法.mp4 |
│ │ │ 159-ARM64汇编26-用debugserer启动APP.mp4 |
│ │ │ 160-ARM64汇编27-破解命令行程序.mp4 |
│ │ │ 161-ARM64汇编28-破解iOS程序.mp4 |
│ │ │ 162-iOS签名机制01-了解签名.mp4 |
│ │ │ 163-iOS签名机制02-加密解密简介.mp4 |
│ │ │ 164-iOS签名机制03-对称密码.mp4 |
│ │ │ 165-iOS签名机制04-密钥配送问题.mp4 |
│ │ │ 166-iOS签名机制05-公钥密码.mp4 |
│ │ │ 167-iOS签名机制06-混合密码系统.mp4 |
│ │ │ 168-iOS签名机制07-总结.mp4 |
│ │ │ |
│ │ │ |
│ │ ├─day15 |
│ │ │ -15-笔记.pdf |
│ │ │ 169-iOS签名机制08-单向散列函数01-基本概念.mp4 |
│ │ │ 170-iOS签名机制09-单向散列函数02-使用场景.mp4 |
│ │ │ 171-iOS签名机制10-数字签名01-基本概念.mp4 |
│ │ │ 172-iOS签名机制11-数字签名02-使用流程.mp4 |
│ │ │ 173-iOS签名机制12-数字签名03-存在的问题.mp4 |
│ │ │ 174-iOS签名机制13-证书.mp4 |
│ │ │ 175-iOS签名机制14-总结.mp4 |
│ │ │ 176-iOS签名机制15-iOS签名机制01-具体流程.mp4 |
│ │ │ 177-iOS签名机制16-iOS签名机制02-解释流程.mp4 |
│ │ │ 178-iOS签名机制17-iOS签名机制03-具体步骤.mp4 |
│ │ │ 179-iOS签名机制18-iOS签名机制04-总结.mp4 |
│ │ │ 180-iOS签名机制19-iOS签名机制05-答疑.mp4 |
│ │ │ |
│ │ ├─day16(2) |
│ │ │ │ 1601-Category的本质01-基本使用.mp4 |
│ │ │ │ 1602-Category的本质02-分类的底层结构.mp4 |
│ │ │ │ 1603-Category的本质03-加载分类方法.mp4 |
│ │ │ │ 1604-Category的本质04-处理分类方法01.mp4 |
│ │ │ │ 1605-Category的本质05-处理分类方法02.mp4 |
│ │ │ │ 1606-Category的本质06-load.mp4 |
│ │ │ │ 1607-Category的本质07-initialize.mp4 |
│ │ │ │ 1608-Category的本质08-load和initialize的调用区别.mp4 |
│ │ │ │ 1609-Category的本质09-答疑.mp4 |
│ │ │ │ 1610-内存分配对齐01-现象观察.mp4 |
│ │ │ │ 1611-内存分配对齐02-源码分析.mp4 |
│ │ │ │ 1612-课程安排.mp4 |
│ │ │ │ |
│ │ │ └─-16-资料 |
│ │ │ OC语法.pptx |
│ │ │ 代码.zip |
│ │ │ |
│ │ ├─day16 |
│ │ ├─day17 |
│ │ │ 180-iOS签名机制20-重签名01-情景分析.mp4 |
│ │ │ 181-iOS签名机制21-重签名02-基本操作.mp4 |
│ │ │ 182-iOS签名机制22-重签名03-GUI工具.mp4 |
│ │ │ 183-iOS签名机制23-重签名04-tweak原理分析.mp4 |
│ │ │ 184-iOS签名机制24-重签名05-动态库.mp4 |
│ │ │ 185-iOS签名机制25-重签名06-其他APP.mp4 |
│ │ │ 186-iOS签名机制26-重签名07-Bug修复.mp4 |
│ │ │ |
│ │ ├─day18 |
│ │ │ -18-课件.zip |
│ │ │ 1801-LLM-01.mp4 |
│ │ │ 1801-LLM-02.mp4 |
│ │ │ 1802-LLM-03.mp4 |
│ │ │ 1802-LLM-04.mp4 |
│ │ │ 1803-代码混淆01-简介.mp4 |
│ │ │ 1804-代码混淆02-实践.mp4 |
│ │ │ 1805-代码混淆03-ios-class-guard.mp4 |
│ │ │ 1806-代码混淆04-字符串加密.mp4 |
│ │ │ 1807-结束语.mp4 |
│ │ │ |
│ │ └─课件 |
│ │ │ 04-Reeal.pptx |
│ │ │ 07-theos.pdf |
│ │ │ 07-theos.pptx |
│ │ │ 08-动态调试.pptx |
│ │ │ 09-ARM64汇编.zip |
│ │ │ 10-iOS签名机制.pptx |
│ │ │ |
│ │ └─工具 |
│ │ │ class-dump |
│ │ │ dsc_extractor |
│ │ │ dyld-519.2.1.tar.gz |
│ │ │ iFile2.2.0-1.zip |
│ │ │ ifunboxmac.dmg |
│ │ │ MachOiew.dmg |
│ │ │ pp_mac.dmg |
│ │ │ ReealLoader.deb |
│ │ │ xnu-4570.1.46.tar.gz |
│ │ │ |
│ │ └─itnl |
│ │ how-to-use.png |
│ │ itnl |
│ │ libmd.dylib |
│ │ |
│ ├─2.底层下-原理 |
│ │ │ |
│ │ │ |
│ │ ├─day01 |
│ │ │ -201-代码.zip |
│ │ │ 001-OC对象的本质01-OC和C_C++.mp4 |
│ │ │ 002-OC对象的本质02-将OC转换为C_C++.mp4 |
│ │ │ 003-OC对象的本质03-NSObject的内存本质.mp4 |
│ │ │ 004-OC对象的本质04-class_getInstanceSize、malloc_size.mp4 |
│ │ │ 005-OC对象的本质05-回答面试题.mp4 |
│ │ │ 006-OC对象的本质06-窥探NSObject的内存.mp4 |
│ │ │ 007-OC对象的本质07-Student的本质.mp4 |
│ │ │ 008-OC对象的本质08-Student的内存布局.mp4 |
│ │ │ 009-OC对象的本质09-更复杂的继承结构.mp4 |
│ │ │ 010-OC对象的本质10-属性和方法.mp4 |
│ │ │ 011-OC对象的本质11-答疑.mp4 |
│ │ │ |
│ │ ├─day02 |
│ │ │ -202-代码.zip |
│ │ │ 012-OC对象的本质12-内存分配注意点.mp4 |
│ │ │ 013-OC对象的本质13-alloc的size分析.mp4 |
│ │ │ 014-OC对象的本质14-libmalloc源码.mp4 |
│ │ │ 015-OC对象的本质15-glibc源码.mp4 |
│ │ │ 016-OC对象的本质16-sizeof注意点.mp4 |
│ │ │ 017-OC对象的分类01-instance对象.mp4 |
│ │ │ 018-OC对象的分类02-class对象.mp4 |
│ │ │ 019-OC对象的分类03-meta-class对象.mp4 |
│ │ │ 020-OC对象的分类04-object_getClass内部实现.mp4 |
│ │ │ 021-OC对象的分类05-答疑.mp4 |
│ │ │ |
│ │ ├─day03 |
│ │ │ -203-代码.zip |
│ │ │ 022-isa和superclass01-isa.mp4 |
│ │ │ 023-isa和superclass02-class的superclass.mp4 |
│ │ │ 024-isa和superclass03-meta-class的superclass.mp4 |
│ │ │ 025-isa和superclass04-总结01.mp4 |
│ │ │ 026-isa和superclass05-总结02.mp4 |
│ │ │ 027-isa和superclass06-isa细节.mp4 |
│ │ │ 028-isa和superclass07-class和meta-class的结构.mp4 |
│ │ │ 029-isa和superclass08-答疑.mp4 |
│ │ │ |
│ │ ├─day04 |
│ │ │ -204-代码.zip |
│ │ │ 030-KO01-基本使用.mp4 |
│ │ │ 031-KO02-存在的疑问.mp4 |
│ │ │ 032-KO03-本质分析.mp4 |
│ │ │ 033-KO04-本质验证.mp4 |
│ │ │ 034-KO05-窥探Foundation.mp4 |
│ │ │ 035-KO06-内部调用流程.mp4 |
│ │ │ 036-KO07-子类的内部方法01.mp4 |
│ │ │ 037-KO08-子类的内部方法02.mp4 |
│ │ │ 038-KO09-总结-答疑.mp4 |
│ │ │ |
│ │ │ |
│ │ ├─day05 |
│ │ │ -205-代码.zip |
│ │ │ 039-KO10-补充.mp4 |
│ │ │ 040-KC01-基本使用.mp4 |
│ │ │ 041-KC02-设值的原理.mp4 |
│ │ │ 042-KC03-取值的原理.mp4 |
│ │ │ 043-Category01-基本使用.mp4 |
│ │ │ 044-Category02底层结构.mp4 |
│ │ │ 045-Category03源码分析01.mp4 |
│ │ │ 046-Category04源码分析02.mp4 |
│ │ │ 047-Category05-memmoe、memcpy区别.mp4 |
│ │ │ 048-Category06答疑.mp4 |
│ │ │ |
│ │ ├─day06 |
│ │ │ -206-代码.zip |
│ │ │ 049-Cateogry07-load01-基本使用.mp4 |
│ │ │ 050-Cateogry08-load02-调用原理.mp4 |
│ │ │ 051-Cateogry09-load03-调用顺序.mp4 |
│ │ │ 052-Cateogry10-initialize01-基本使用.mp4 |
│ │ │ 053-Cateogry11-initialize02-源码分析.mp4 |
│ │ │ 054-Cateogry12-initialize03-注意点.mp4 |
│ │ │ 055-Cateogry13-load、initialize总结.mp4 |
│ │ │ |
│ │ ├─day07 |
│ │ │ -207-代码.zip |
│ │ │ 056-关联对象01-分类添加属性.mp4 |
│ │ │ 057-关联对象02-使用字典完善属性.mp4 |
│ │ │ 058-关联对象03-使用字典存在的问题.mp4 |
│ │ │ 059-关联对象04-基本用法.mp4 |
│ │ │ 060-关联对象05-key的用法.mp4 |
│ │ │ 061-关联对象06-答疑.mp4 |
│ │ │ 062-关联对象07-底层数据结构01.mp4 |
│ │ │ 063-关联对象08-底层数据结构02.mp4 |
│ │ │ 064-block01-基本认识.mp4 |
│ │ │ |
│ │ ├─day08 |
│ │ │ -208-代码.zip |
│ │ │ 065-block02-底层数据结构.mp4 |
│ │ │ 066-block03-变量捕获01-auto变量.mp4 |
│ │ │ 067-block04-变量捕获02-static变量.mp4 |
│ │ │ 068-block05-变量捕获03-全局变量.mp4 |
│ │ │ 069-block06-类型01.mp4 |
│ │ │ 070-block07-类型02.mp4 |
│ │ │ 071-block08-答疑.mp4 |
│ │ │ |
│ │ ├─day09 |
│ │ │ -209-代码.zip |
│ │ │ 072-block09-copy.mp4 |
│ │ │ 073-block10-对象类型的auto变量01.mp4 |
│ │ │ 074-block11-对象类型的auto变量02.mp4 |
│ │ │ 075-block12-对象类型的auto变量03.mp4 |
│ │ │ 076-block13-__block01-修改变量.mp4 |
│ │ │ 077-block14-__block02-本质.mp4 |
│ │ │ |
│ │ ├─day10 |
│ │ │ -210-代码.zip |
│ │ │ 078-block15-__block03-细节.mp4 |
│ │ │ 079-block16-__block04-内存管理01.mp4 |
│ │ │ 080-block17-__block05-内存管理02.mp4 |
│ │ │ 081-block18-__block06-forwarding.mp4 |
│ │ │ 082-block19-__block07-内存管理03.mp4 |
│ │ │ 083-block20-__block08-内存管理04.mp4 |
│ │ │ 084-block21-循环引用01-问题.mp4 |
│ │ │ 085-block22-循环引用02-ARC01.mp4 |
│ │ │ 086-block23-循环引用03-ARC02.mp4 |
│ │ │ 087-block24-循环引用04-MRC.mp4 |
│ │ │ 088-block25-总结-答疑.mp4 |
│ │ │ |
│ │ ├─day11 |
│ │ │ -211-代码.zip |
│ │ │ 089-Runtime01-简介.mp4 |
│ │ │ 090-Runtime02-isa01-简介.mp4 |
│ │ │ 091-Runtime03-isa02-需求.mp4 |
│ │ │ 092-Runtime04-isa03-取值.mp4 |
│ │ │ 093-Runtime05-isa04-设值.mp4 |
│ │ │ 094-Runtime06-isa05-位域.mp4 |
│ │ │ 095-Runtime07-isa06-共用体.mp4 |
│ │ │ 096-Runtime08-isa07-总结.mp4 |
│ │ │ |
│ │ ├─day12 |
│ │ │ -212-代码.zip |
│ │ │ 097-Runtime09-isa08-位运算补充.mp4 |
│ │ │ 098-Runtime10-isa09-细节.mp4 |
│ │ │ 099-Runtime11-方法01-Class的结构.mp4 |
│ │ │ 100-Runtime12-方法02-method.mp4 |
│ │ │ 101-Runtime13-方法03-Type%20Encoding.mp4 |
│ │ │ 102-Runtime14-方法04-cache_t.mp4 |
│ │ │ 103-Runtime15-方法05-散列表缓存.mp4 |
│ │ │ |
│ │ ├─day13 |
│ │ │ -213-代码.zip |
│ │ │ 104-Runtime16-方法06-查看缓存01.mp4 |
│ │ │ 105-Runtime17-方法07-查看缓存02.mp4 |
│ │ │ 106-Runtime18-objc_msgSend01-简介.mp4 |
│ │ │ 107-Runtime19-objc_msgSend02-消息发送01.mp4 |
│ │ │ 108-Runtime20-objc_msgSend03-消息发送02.mp4 |
│ │ │ 109-Runtime21-objc_msgSend04-动态方法解析01.mp4 |
│ │ │ 110-Runtime22-objc_msgSend05-动态方法解析02.mp4 |
│ │ │ 111-Runtime23-objc_msgSend06-动态方法解析03.mp4 |
│ │ │ |
│ │ ├─day14 |
│ │ │ -214-代码.zip |
│ │ │ 112-Runtime24-objc_msgSend07-消息转发01.mp4 |
│ │ │ 113-Runtime25-objc_msgSend08-消息转发02.mp4 |
│ │ │ 114-Runtime26-objc_msgSend09-消息转发03.mp4 |
│ │ │ 115-Runtime27-objc_msgSend10-消息转发04.mp4 |
│ │ │ 116-Runtime28-objc_msgSend11-消息转发05.mp4 |
│ │ │ 117-Runtime29-objc_msgSend12-总结.mp4 |
│ │ │ 118-Runtime30-super01.mp4 |
│ │ │ 119-Runtime31-super02.mp4 |
│ │ │ 120-Runtime32-答疑.mp4 |
│ │ │ |
│ │ ├─day15 |
│ │ │ -215-代码.zip |
│ │ │ 121-Runtime33-class面试题01.mp4 |
│ │ │ 122-Runtime34-class面试题02.mp4 |
│ │ │ 123-Runtime35-super面试题01.mp4 |
│ │ │ 124-Runtime36-super面试题02.mp4 |
│ │ │ 125-Runtime37-super面试题03.mp4 |
│ │ │ 126-Runtime38-super面试题04.mp4 |
│ │ │ 127-Runtime39-super面试题05.mp4 |
│ │ │ 128-Runtime40-答疑.mp4 |
│ │ │ |
│ │ ├─day16 |
│ │ │ -216-代码.zip |
│ │ │ 129-Runtime41-LLM的中间代码.mp4 |
│ │ │ 130-Runtime42-API01-类.mp4 |
│ │ │ 131-Runtime43-API02-成员变量01.mp4 |
│ │ │ 132-Runtime44-API02-成员变量02.mp4 |
│ │ │ 133-Runtime45-API02-成员变量03.mp4 |
│ │ │ 134-Runtime46-API03-方法01.mp4 |
│ │ │ 135-Runtime47-总结.mp4 |
│ │ │ |
│ │ ├─day17 |
│ │ │ -217-代码.zip |
│ │ │ 136-Runtime48-API03-方法02.mp4 |
│ │ │ 137-Runtime49-API03-方法03.mp4 |
│ │ │ 138-Runloop01-基本认识.mp4 |
│ │ │ 139-Runloop02-获取RunLoop对象.mp4 |
│ │ │ 140-Runloop03-CFRunLoopModeRef.mp4 |
│ │ │ 141-Runloop04-CFRunLoopModeRef的成员.mp4 |
│ │ │ 142-Runloop05-CFRunLoopObsererRef.mp4 |
│ │ │ 143-Runloop06-答疑.mp4 |
│ │ │ |
│ │ ├─day18 |
│ │ │ -218-代码.zip |
│ │ │ 144-Runloop07-执行流程图.mp4 |
│ │ │ 145-Runloop08-源码分析.mp4 |
│ │ │ 146-Runloop09-调用细节.mp4 |
│ │ │ 147-Runloop10-休眠的细节.mp4 |
│ │ │ 148-Runloop11-NSTimer失效.mp4 |
│ │ │ 149-Runloop12-线程保活01.mp4 |
│ │ │ 150-Runloop13-线程保活02.mp4 |
│ │ │ 151-Runloop14-线程保活03.mp4 |
│ │ │ 152-Runloop15-线程保活04.mp4 |
│ │ │ 153-Runloop16-答疑.mp4 |
│ │ │ |
│ │ ├─day19 |
│ │ │ -219-代码.zip |
│ │ │ 154-Runloop17-线程保活05.mp4 |
│ │ │ 155-Runloop18-线程保活06.mp4 |
│ │ │ 156-Runloop19-线程的封装01-接口设计.mp4 |
│ │ │ 157-Runloop20-线程的封装02-内部实现.mp4 |
│ │ │ 158-Runloop21-线程的封装03-C语言方式实现.mp4 |
│ │ │ 159-Runloop22-答疑.mp4 |
│ │ │ 160-多线程01-基本概念.mp4 |
│ │ │ 161-多线程02-gcd01.mp4 |
│ │ │ 162-多线程03-gcd02.mp4 |
│ │ │ 163-多线程04-gcd03.mp4 |
│ │ │ 164-多线程05-gcd04.mp4 |
│ │ │ |
│ │ ├─day20 |
│ │ │ -220-代码.zip |
│ │ │ 165-多线程06-面试题01.mp4 |
│ │ │ 166-多线程07-GNUstep.mp4 |
│ │ │ 167-多线程08-面试题02.mp4 |
│ │ │ 168-多线程09-GCD队列组.mp4 |
│ │ │ 169-多线程10-安全隐患分析.mp4 |
│ │ │ 170-多线程11-OSSpinLock01.mp4 |
│ │ │ 171-多线程12-OSSpinLock02.mp4 |
│ │ │ 172-多线程13-OSSpinLock03.mp4 |
│ │ │ 173-多线程14-答疑.mp4 |
│ │ │ |
│ │ ├─day21 |
│ │ │ -221-代码.zip |
│ │ │ 174-多线程15-os_unfair_lock.mp4 |
│ │ │ 175-多线程16-pthread_mutex01.mp4 |
│ │ │ 176-多线程17-pthread_mutex02-递归锁.mp4 |
│ │ │ 177-多线程18-自旋锁、互斥锁汇编分析.mp4 |
│ │ │ 178-多线程19-pthread_mutex03-条件.mp4 |
│ │ │ 179-多线程20-NSLock、NSRecursieLock、NSCondition.mp4 |
│ │ │ 180-多线程21-答疑.mp4 |
│ │ │ |
│ │ ├─day22 |
│ │ │ -222-代码.zip |
│ │ │ 181-多线程22-遗留问题解决.mp4 |
│ │ │ 182-多线程23-NSconditionLock.mp4 |
│ │ │ 183-多线程24-SerialQvuevue.mp4 |
│ │ │ 184-多线程25-semaphore01-最大并发数量.mp4 |
│ │ │ 185-多线程26-semaphore02-线程同步.mp4 |
│ │ │ 186-多线程27-semaphore03-@synchronized.mp4 |
│ │ │ 187-多线程28-同步方案性能对比.mp4 |
│ │ │ 188-多线程29-自旋锁、互斥锁对比.mp4 |
│ │ │ |
│ │ ├─day23 |
│ │ │ -223-代码.zip |
│ │ │ 189-多线程30-atomic.mp4 |
│ │ │ 190-多线程31-读写安全01-简介.mp4 |
│ │ │ 191-多线程32-读写安全02-pthread_rwlock.mp4 |
│ │ │ 192-多线程33-读写安全03-barrier_async.mp4 |
│ │ │ 193-内存管理01-定时器01.mp4 |
│ │ │ 194-内存管理02-定时器02.mp4 |
│ │ │ 195-内存管理03-定时器03.mp4 |
│ │ │ 196-内存管理04-定时器04.mp4 |
│ │ │ |
│ │ │ |
│ │ ├─day24 |
│ │ │ -224-代码.zip |
│ │ │ 197-内存管理05-NSProxy补充.mp4 |
│ │ │ 198-内存管理06-GCD定时器01.mp4 |
│ │ │ 199-内存管理07-GCD定时器02.mp4 |
│ │ │ 200-内存管理08-GCD定时器03.mp4 |
│ │ │ 201-内存管理09-内存布局.mp4 |
│ │ │ 202-内存管理10-Tagged%20Pointer01.mp4 |
│ │ │ 203-内存管理11-Tagged%20Pointer02.mp4 |
│ │ │ 204-内存管理12-Tagged%20Pointer03.mp4 |
│ │ │ |
│ │ ├─day25 |
│ │ │ -225-代码.zip |
│ │ │ 205-内存管理13-Tagged%20Pointer04.mp4 |
│ │ │ 206-内存管理14-MRC01.mp4 |
│ │ │ 207-内存管理15-MRC02.mp4 |
│ │ │ 208-内存管理16-MRC03.mp4 |
│ │ │ 209-内存管理17-MRC04.mp4 |
│ │ │ 210-内存管理18-MRC05.mp4 |
│ │ │ 211-内存管理19-copy01.mp4 |
│ │ │ 212-内存管理20-copy02.mp4 |
│ │ │ |
│ │ ├─day26 |
│ │ │ -226-代码.zip |
│ │ │ 213-内存管理21-copy03.mp4 |
│ │ │ 214-内存管理22-copy04.mp4 |
│ │ │ 215-内存管理23-copy05.mp4 |
│ │ │ 216-内存管理24-copy06.mp4 |
│ │ │ 217-内存管理25-引用计数的存储.mp4 |
│ │ │ 218-内存管理26-weak指针的原理.mp4 |
│ │ │ 219-内存管理27-autorelease原理01.mp4 |
│ │ │ 220-内存管理28-autorelease原理02.mp4 |
│ │ │ |
│ │ ├─day27 |
│ │ │ -227-代码.zip |
│ │ │ 221-内存管理29-autorelease原理03.mp4 |
│ │ │ 222-内存管理30-autorelease原理04.mp4 |
│ │ │ 223-内存管理31-autorelease原理05.mp4 |
│ │ │ 224-内存管理32-RunLoop与autorelease01.mp4 |
│ │ │ 225-内存管理33-RunLoop与autorelease02.mp4 |
│ │ │ 226-性能优化01-CPU和GPU.mp4 |
│ │ │ 227-性能优化02-产生卡顿的原因.mp4 |
│ │ │ 228-性能优化03-卡顿优化01-CPU.mp4 |
│ │ │ 229-性能优化04-卡顿优化02-GPU.mp4 |
│ │ │ 230-性能优化05-卡顿优化03-卡顿检测.mp4 |
│ │ │ |
│ │ ├─day28 |
│ │ │ -228-代码.zip |
│ │ │ 231-性能优化06-耗电优化.mp4 |
│ │ │ 232-性能优化07-启动优化01-冷启动简介.mp4 |
│ │ │ 233-性能优化08-启动优化02-分析.mp4 |
│ │ │ 234-性能优化09-安装包瘦身.mp4 |
│ │ │ 235-架构设计01-简介.mp4 |
│ │ │ 236-架构设计02-MC-Apple.mp4 |
│ │ │ 237-架构设计03-MC-变种.mp4 |
│ │ │ 238-架构设计04-MP.mp4 |
│ │ │ 239-架构设计05-MM.mp4 |
│ │ │ 240-架构设计06-分层架构.mp4 |
│ │ │ 241-架构设计07-设计模式简介.mp4 |
│ │ │ 242-总结.mp4 |
│ │ │ |
│ │ ├─MJ-Runloop补充 |
│ │ │ │ RL01-初识RunLoop.mp4 |
│ │ │ │ RL02-RunLoop对象.mp4 |
│ │ │ │ RL03-RunLoop的Mode.mp4 |
│ │ │ │ RL04-RunLoop的运行逻辑01-内部结构.mp4 |
│ │ │ │ RL05-RunLoop的运行逻辑02-源码分析01.mp4 |
│ │ │ │ RL06-RunLoop的运行逻辑03-源码分析02.mp4 |
│ │ │ │ RL07-RunLoop的运行逻辑04-流程图.mp4 |
│ │ │ │ RL08-RunLoop的运行逻辑05-GCD.mp4 |
│ │ │ │ RL09-RunLoop的运行逻辑06-总结.mp4 |
│ │ │ │ |
│ │ │ └─MJ-Runloop补充 |
│ │ │ ├─代码 |
│ │ │ │ └─Interiew01-RunLoop |
│ │ │ └─课件 |
│ │ │ CF-1153.18.tar.gz |
│ │ │ RunLoop.pptx |
│ │ │ |
│ │ ├─MJ-语法补充 |
│ │ │ yf01-OC对象的本质01-概述.mp4 |
│ │ │ yf02-OC对象的本质02-NSObject.mp4 |
│ │ │ yf03-OC对象的本质03-自定义类.mp4 |
│ │ │ yf04-OC对象的本质04-窥探内存结构.mp4 |
│ │ │ yf05-OC对象的本质05-更复杂的继承关系.mp4 |
│ │ │ yf06-OC对象的本质06-内存具体分析.mp4 |
│ │ │ yf07-OC对象的分类01-提问.mp4 |
│ │ │ yf08-OC对象的分类02-instance.mp4 |
│ │ │ yf09-OC对象的分类03-class.mp4 |
│ │ │ yf10-OC对象的分类04-meta-class.mp4 |
│ │ │ yf11-isa和superclass01-调用对象方法和类方法的过程.mp4 |
│ │ │ yf12-isa和superclass02-class的superclass.mp4 |
│ │ │ yf13-isa和superclass03-metaclass的superclass.mp4 |
│ │ │ yf14-isa和superclass04-总结.mp4 |
│ │ │ yf15-Class的本质01-判断类对象的类型.mp4 |
│ │ │ yf16-Class的本质02-isa的细节.mp4 |
│ │ │ yf17-Class的本质03-结构分析.mp4 |
│ │ │ yf18-Class的本质04-instanceSize.mp4 |
│ │ │ yf19-Class的本质05-class_rw_t、class_ro_t.mp4 |
│ │ │ yf20-Class的本质06-证明isa和superclass的作用.mp4 |
│ │ │ yf21-KO01-基本使用.mp4 |
│ │ │ yf22-KO02-存在的疑问(1).mp4 |
│ │ │ yf22-KO02-存在的疑问.mp4 |
│ │ │ yf23-KO03-底层实现分析.mp4 |
│ │ │ yf24-KO04-验证isa和IMP.mp4 |
│ │ │ yf25-KO05-Foundation中的私有函数.mp4 |
│ │ │ yf26-KO06-窥探类对象内存中的函数.mp4 |
│ │ │ yf27-KO07-总结.mp4 |
│ │ │ yf28-KO08-补充.mp4 |
│ │ │ yf29-OC对象的本质07-面试题补充.mp4 |
│ │ │ yf30-isa和superclass05-补充.mp4 |
│ │ │ |
│ │ └─课件 |
│ │ 01-OC语法.pptx |
│ │ 02-Runtime.pptx |
│ │ 03-RunLoop.pptx |
│ │ 04-多线程.pptx |
│ │ 05-内存管理.pptx |
│ │ 06-性能优化.pptx |
│ │ 07-设计模式与架构.pptx |
│ │ 08-总结.pptx |
│ │ glibc-2.27.tar.gz |
│ │ libmalloc-140.40.1.tar.gz |
│ │ objc4-723.tar.gz |
│ │ 内存分析.xlsm |
│ │ |
│ └─3.周末班 |
│ │ |
│ │ 资料.rar |
│ │ |
│ ├─1-10 |
│ │ 01-汇编语言简介.mp4 |
│ │ 02-内存.mp4 |
│ │ 03-寄存器.mp4 |
│ │ 04-CS寄存器.mp4 |
│ │ 05-jmp指令.mp4 |
│ │ 06-debug.mp4 |
│ │ 07-ds寄存器.mp4 |
│ │ 08-栈.mp4 |
│ │ 09-第一个完整的汇编程序.mp4 |
│ │ 10-Hello%20World.mp4 |
│ │ |
│ ├─11-15 |
│ │ 11-01-多个段的程序.mp4 |
│ │ 11-02-多个段的程序.mp4 |
│ │ 12-call和ret的使用.mp4 |
│ │ 13-call和ret的原理.mp4 |
│ │ 14-函数的返回值.mp4 |
│ │ 15-01-栈平衡.mp4 |
│ │ 15-02-栈平衡.mp4 |
│ │ 15-03-栈平衡.mp4 |
│ │ |
│ ├─16-22 |
│ │ 16-外平栈和内平栈.mp4 |
│ │ 17-函数的调用约定.mp4 |
│ │ 18-01-函数的局部变量.mp4 |
│ │ 18-02-函数的局部变量.mp4 |
│ │ 19-bp寄存器的保护和恢复.mp4 |
│ │ 20-保护可能会用到的寄存器.mp4 |
│ │ 21-01-保护局部变量空间.mp4 |
│ │ 21-02-保护局部变量空间.mp4 |
│ │ 22-栈帧-函数执行环境.mp4 |
│ │ |
│ ├─23-28 |
│ │ 23-JCC.mp4 |
│ │ 24-01-基本的软件破解.mp4 |
│ │ 24-02-基本的软件破解.mp4 |
│ │ 25-01-破解植物大战僵尸.mp4 |
│ │ 25-02-破解植物大战僵尸.mp4 |
│ │ 26-01-AT&T了解.mp4 |
│ │ 26-02-AT&T了解.mp4 |
│ │ 27-01-反汇编01-a++和++a.mp4 |
│ │ 27-02-反汇编01-a++和++a.mp4 |
│ │ 28-反汇编02-编译器的优化.mp4 |
│ │ |
│ ├─29-33 |
│ │ 29-反汇编03-if-else.mp4 |
│ │ 30-反汇编04-for.mp4 |
│ │ 31-反汇编05-switch和if-else对比.mp4 |
│ │ 32-AT&T栈帧.mp4 |
│ │ 33-汇编与C语言混用.mp4 |
│ │ |
│ └─资料 |
│ │ |
│ │ |
│ └─资料 |
│ │ |
│ │ |
│ ├─day01 |
│ │ │ 00-8086汇编.pptx |
│ │ │ |
│ │ ├─代码 |
│ │ │ └─01_Test |
│ │ ├─工具 |
│ │ └─资料 |
│ │ 笔记.txt |
│ │ |
│ ├─day02 |
│ │ ├─代码 |
│ │ │ └─01_函数本质 |
│ │ └─资料 |
│ │ │ JCC.xls |
│ │ │ 笔记.txt |
│ │ │ |
│ │ ├─破解 |
│ │ └─辅助 |
│ └─day03 |
│ ├─代码 |
│ │ ├─01-AT&T |
│ │ ├─02-反汇编 |
│ │ └─03-栈帧 |
│ └─资料 |
│ └─AT&T汇编 |
-
朋友圈不定时发福利(开通会员免费获取资源)
-
微信号
wqxzvip
点击我自动复制
暂无评论内容