首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
洋之
掘友等级
iOS开发兼职前端
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
18
文章 18
沸点 0
赞
18
返回
|
搜索文章
最新
热门
iOS知识总结
oc语言是一门动态语言,会将程序的一些决定工作从编译期推迟到运行期,比如方法的实现在程序运行的时候才确定。不同与C语言这种静态语言,在编译阶段就确定了方法的实现。OC的动态特性就是靠runtime提供的api支持的。 不能,会影响到别的子类。最好的方法是用runtime把这个方…
iOS 底层(深入理解blcok)
带有自动变量(局部变量)的匿名函数。 我们在使用Block的过程中,可以在Block内部访问外部的变量,包含局部变量、静态变量(相当于私有的全局变量)、全局变量等等。现在就通过一个Demo来看一下block底层是如何访问外部变量的。 可以看出,此时__main_block_im…
iOS 底层OC语法4(探索Category的本质,load和initialize,关联对象)
分类提出问题 (Category为什么只能加方法不能加属性。) 分类中的对象方法依然是存储在类对象中的,同对象方法在同一个地方,那么调用步骤也同调用对象方法一样。如果是类方法的话,也同样是存储在元类对象中。 那么分类方法是如何存储在类对象中的,我们来通过源码看一下分类的底层结构…
iOS 底层OC语法3(探索KVO的本质)
首先需要了解KVO基本使用,KVO的全称 Key-Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变。 通过上述代码我们发现,一旦age属性的值发生改变时,就会通知到监听者,并且我们知道赋值操作都是调用 set方法,我们可以来到Person类中重…
iOS 底层OC语法2(探寻Class的本质)
Class对象其实是一个指向objc_class结构体的指针。因此我们可以说类对象或元类对象在内存中其实就是objc_class结构体。 我们来到objc_class内部,可以看到这段在底层原理中经常出现的代码。 这部分代码相信在文章中很常见,但是OBJC2_UNAVAILAB…
iOS逆向学习(签名机制)
iOS签名机制的作用就是保证安装到用户手机上的App都是经过Apple官方允许的。当然,越狱设备除外。 在Apple开发者网站上注册device,添加App ID。 经过以上的一系列操作之后,我们最终就可以拿到ios_development.cer或者ios_distribut…
iOS逆向学习(加密、签名)
那么如何防止信息被监听呢?就需要对通信信息进行加密操作。 根据密钥的使用方式,我们可以将密码分为两种:对称密码和公钥密码。 AES是用来取代DES称为新标准的一种对称密码算法,AES的密钥长度有128、192、256bit三种。 假设Alice将使用对称密码加密后的消息发送给B…
iOS逆向学习(arm64汇编入门)
iOS汇编语音有很多钟。常见的有8086汇编、arm汇编、x86汇编等等。 iOS的架构从最初的armv6发展到后来的armv7和armv7s,最后发展到现在的arm64,不管是armv6还是后来的armv7,以及arm64都是arm处理器的指令集。armv7和armv7s是真…
iOS逆向(深入研究Mach-O结构)
File Offset 表示当前__PAGEZERO段在Mach-O文件中的位置。 File Size 表示__PAGEZERO段在Mach-O文件中的大小,此处File Size为0表示在Mach-O文件中并没有__PAGEZERO段,在Mach-O文件被加载进虚拟内存中,才…
iOS 逆向 动态调试
动态调试就是在我们的程序运行之时,通过下断点、打印等一系列方式查看参数、返回值、函数调用流程等等。不仅是在iOS开放中需要动态调试,在任何语言的开发过程中都需要用到动态调试。 Xcode最早使用的是GUN开发的GCC编译器,但是从xcode5之后开始使用自研的LLVM编译器,可…
下一页
个人成就
文章被点赞
8
文章被阅读
21,862
掘力值
573
关注了
30
关注者
14
收藏集
2
关注标签
13
加入于
2016-12-13