首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios
订阅
小树1488881722000
更多收藏集
微信扫码分享
微信
新浪微博
QQ
17篇文章 · 0订阅
为系统的KVO功能添加Block(闭包)特性
OC为用户提供了一套观察者模式(KVO), 当对象的某些属性发生变化之后, 就会向所有观察者(observer)广播消息, 具体的KVO基本用法这里就不说了. 下面主要说一下为系统的KVO功能添加block的思路, 先看一下最终的API: 其中有一个参数是content, 允许…
iOS逆向(2)-密码学(Hash&对称加密)
在上一篇文章,讲述了非对称加密,也就是RSA的数据原理和简单实用,那么在这篇文章将要讲述的就是对称加密,其中以Hash(散列算法,哈希函数)最为广为人知。 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散…
OC底层原理之实例、类对象、元类对象
实例对象成员变量的具体值,存放在instance对象类对象对象方法、属性、成员变量、协议信息,存放在class对象中Meta-Class对象类方法,存放在meta-class对象中可以通过__clas
iOS MVC、MVVM、MVP架构模式浅浅析
“View 层和 model 层需要交流。所以,两者之间需要存在连接。假设 view 层和 model 层是被清晰地分开,而且不存在无法解耦的联结的话,两者之间的通讯就需要一些形式的翻译:” “当一个 view action 被送到 model 层时,它会被转变为model a…
iOS逆向(4)-代码注入,非越狱窃取微信密码
利用LLDB对微信进行分析,然后利用分析的结果,再逐步讲解如何Hook微信的登录过程,截获微信密码。 在上一篇文章(APP重签名)中,已经介绍了如何对APP重签名,并且利用XCode将微信跑起来,既然到了这一步,就万万不能错过强大的LLDB。这篇文章就讲为大家讲解到如何利用LL…
iOS逆向(3)-APP重签名
作为一名iOS开发者肯定知道iOS开发证书,那么证书具体是什么呢?为什么到我们本地的不是证书本身,而是一个称之为描述文件的东西。而这「描述文件」又具体是什么呢? 在知道这「描述文件」后,我们是不是可以通过将「描述文件」替换为我们自己的「描述文件」进行一些有意思的事情呢?比如这篇…
App启动之Dyld在做什么
这里主要剖析一下一个App从点击图标,到展现首页的整个过程。 执行AppDelegate的代理方法(如:didFinishLaunchingWithOptions)。 根据业务注册SDK,获取数据库数据等。 初始化Windows,初始化ViewController。 Apple…
浅析weak指针的实现
oc中weak指针主要用于打破循环或者防止循环引用的发生,应用场景还是很广泛的。那么被weak修饰的指针与被指向的对象在底层的运作机制究竟怎样的呢?为什么在对象释放销毁时weak指针能自动置为nil,从而避免了野指针的错误? 当对象被一个weak指针引用时,底层的实现原理就是:…
iOS 最优无痕埋点方案
在移动互联网时代,对于每个公司、企业来说,用户的行为数据非常重要。重要到什么程度,用户在这个页面停留多久、点击了什么按钮、浏览了什么内容、什么手机、什么网络环境、App什么版本等都需要清清楚楚。一些大厂的蛮多业务成果都是基于用户操作行为进行推荐后二次转换。另一方面是以日志的作用…
OC消息机制和super关键字
在Objective-C里面调用一个方法[object method],运行时会将它翻译成objc_msgSend(id self, SEL op, ...)的形式。 objc_msgSend的实现在objc-msg-arm.s、objc-msg-arm64.s等文件中,是通过…