首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
IOS底层
订阅
不自然然然
更多收藏集
微信扫码分享
微信
新浪微博
QQ
25篇文章 · 0订阅
iOS底层原理08-dyld加载流程
本文的目的主要是分析dyld的加载流程,了解在main函数之前,底层还做了什么,在分析app启动之前,我们需要先了解`iOSapp代码的编译过程`以及`动态库`和`静态库`。
手把手教程,如何设计编写一个 SDK
App 的开发更偏向于用户层面,从 UI 展示到业务逻辑处理,全程处理用户的行为。而 SDK 面向的是开发者,开发更偏向于功能方面,注重功能的开发实现。不妨来看看 FinClip 移动端工程师整理的如
iOS 客户端编译优化实践
前言 公司虽然有专门的打包机,但是打包机打一次包总耗时30min左右。 在平常可能还没有什么关系,但是到了回归阶段就很难受了。 测试回归阶段发现一个bug,等开发定位问题->修复->打包->测试验证,
iOS 符号解析重构之路
所谓的符号解析就是就是将崩溃日志中的地址映射成为可读的符号和源文件中的行号,方便开发者定位和修复问题。
iOS逆向(5)-不知MachO怎敢说自己懂DYLD
窥一斑而知全豹,从这些许内容其实已经可以了解到MachO在我们APP中的地位是多么的重要。同样,在咱们逆向的实践中,MachO也是一道绕不过去门槛! 目前已知的架构分为armv7,armv7s,arm64,i386,x86_64等等,MachO中其实也是这些架构的集合。可以随意…
我是如何让微博绿洲的启动速度提升30%的
绿洲iOS研发工程师,绿洲ID:收纳箱KeepFit。 0. 序言 启动是App给用户的第一印象,对用户体验至关重要。试想一个App需要启动5s以上,你还想用它么? 最初的工程肯定是没有这些问题的,但随着业务需求不断丰富,代码越来越多。如果放任不管的话,启动时间会不断上涨,最后…
fishhook x MachOView源码阅读
1. fishhok原理 dyld通过更新Mach-O二进制文件中特定__DATA段的指针来绑定惰性和非惰性符号。fishhook通过传递给rebind_symbols的符号名来确定需要更新的位置,然后用相应的替换项重新绑定这些符号。 对于给定的镜像,__DATA段可以包含与动…
fishhook-动态修改MachO文件
学习hook,不是要攻击别人,破坏别人的应用场景,而是为了更好的防护,让自己的应用更坚固更安全。 通过getImp获取原有函数指针,通过replace替换原sel指向的指针为自定义函数指针,通setImp一样。 以上是针对OC的动态特性来hook的,我们能够hook动态语言下的…
看了这篇,面试官问你APP体积优化再也不用WTF了
long time no see,最近在总结一些平(应)常(付)用(面)到(试)的知识点,今天就跟大家聊了聊App体积优化这个事儿。 别问!问就是为了应付面试。 哈哈,开个玩笑。大家生活中都会遇到一个场景,在某个需要紧急打开App的时候,发现使用的App半天打不开!WTF!而另…
iOS代码瘦身实践:删除无用的类
本文将提供一种静态分析的方式,用于查找可执行文件Mach-o中未使用的类,源码链接:xuezhulian/classunref。 Mach-o文件中__DATA __objc_classrefs段记录了引用类的地址,__DATA __objc_classlist段记录了所有类的…