首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
一点田心
掘友等级
iOS开发者
喜欢撸代码,看书,乒乓,皇室战争等
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
47
文章 47
沸点 0
赞
47
返回
|
搜索文章
最新
热门
iOS逆向学习-003状态寄存器
CPSR和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义.而CPSR寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息. N、Z、C、V均为条件码标志位。它们的内容可被算术或逻辑运算的结果所改变,并且可以决定某条指令是否被执行!意…
iOS逆向学习-002函数本质
sp寄存器在任意时刻会保存我们栈顶的地址. 将数据从寄存器中读出来,存到内存中. 此ldr 和 str 的变种ldp 和 stp 还可以操作2个寄存器. 使用32个字节空间作为这段程序的栈空间,然后利用栈将x0和x1的值进行交换. []是寻址,中间逗号可以加上后面的偏移量,可以…
iOS逆向学习-001初识汇编
我们在前期的学习中,了解到在逆向开发中,非常重要的一个环节就是静态分析.首先我们是逆向iOS系统上面的APP.那么我们知道,一个APP安装在手机上面的可执行文件本质上是二进制文件.因为iPhone手机本质上执行的指令是二进制.是由手机上的CPU执行的.所以静态分析是建立在分析二…
Mac终端快捷键整理
| Alt + . | 上一个命令的最后一个单词 | | !string | 从string开始打印最后一个命令. |
Swift中Enum枚举底层探索
EnumMetadata和StructMetadata基本上一样,这里就不在细说了,不清楚的可以看我这篇文章:Swift结构体底层StructMetadata。而且老样子,我也把EnumMetadata源码翻译成swift代码实现了,GitHub地址在这。 EnumMetada…
Swift协议Codable底层探索及应用
Codable是Swift 4.0后引入的特性,目标是取代NSCoding协议。 相信很多小伙伴已经用上了吧,虽然Codable给我们JSON数据解析带来一种解决方案,但是在很多情况下又不是那么好用。所以我们一起探索下Codable的底层实现,以及如何改进使用方式。 我们看到,…
Swift中闭包底层原理探索
『闭包』是独立的代码块, 可以在你代码中随意传递和使用 。Swift 中的闭包与 Objective-C/C 中的 Block、其他编程语言中的匿名函数相似。 闭包可以从定义它们的代码的上下文中捕获和存储任何变量。这也被称为这些变量和常量被暂时关闭使用。并且 Swift 负责处…
iOS开发初窥LLVM语法
因为Swift还是OC的编译工具是不一样的,所以两者生成LLVM文件的命令也是不一样的。 i:表示的是整形Interger,后面会跟一个数字,表示是多少位的整形。 inbounds后面跟的是步长类型,可以省略inbounds,然后接着跟的是基地址的指针,最后跟的是需要偏移的数量…
探索Swift中Dictionary的底层实现及原理
swift字典的设计思路和数组还是有点像的,可以参考我前面写的数组篇,因为这里会讲swift字典用到的hash原理,篇幅有限,将会弱化源码的阅读。 Dictionary存的貌似是个堆上的地址0x000000010053eb40,查看该地址后,发现果然和Array一样,是一个类结…
探索Swift中Array的底层实现
很显然,从定义上来看,Array是一个struct类型,那也就是值类型了。 在Array中真的只有一个属性_buffer,_buffer在_runtime(_ObjC)下是_ArrayBuffer,否则是_ContiguousArrayBuffer。在苹果的设备下应该都是兼容O…
下一页
个人成就
文章被点赞
243
文章被阅读
79,923
掘力值
1,911
关注了
7
关注者
192
收藏集
4
关注标签
1
加入于
2020-12-10