首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
iOS 动态库和静态库
订阅
code139
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
一个iOS程序员的自我修养(一)编译和链接
对于平常的应用开发,我们很少关注编译和链接过程,因为 Xcode 在 build 的时候将编译和链接合并到了一起一步完成。以mian.m为例: 以上过程可以被成 4 个步骤,分别是预处理,编译,汇编和链接。 将所有的“#”删除,并且展开所有的宏定义。 处理所有条件预编译指令,比…
iOS技能拓展 初识符号与链接
本文主要介绍Mach-O、编译链接、符号分类(文末有个符号知识题)符号可能平时开发的时候接触不多,本文会从新手视角介绍一下这个在编译链接阶段默默付出的家伙
iOS动态库的使用
3.1. 添加为依赖库-启动时加载 3.2. 运行时加载 说到动态库,就不得不提静态库。静态库可以看做是一个具有特定功能的代码块,如果app中引用了静态库,则在编译时会将静态库直接复制到app的可执行文件(也就是mach-o)中。 使用静态库会导致mach-o文件过大,而mac…
深入iOS系统底层之静态库
少长咸集,群贤毕至。--《王羲之・兰亭集序》 程序员编写的是源代码,而计算机运行的则是CPU能识别的机器指令,因此必须要有一系列工具或程序来将源代码转化为机器指令,这个转化的过程需要经历编译和链接两个主要阶段。所谓编译就是将源代码文件转化为中间的目标文件(Object file…
fishhook-动态修改MachO文件
学习hook,不是要攻击别人,破坏别人的应用场景,而是为了更好的防护,让自己的应用更坚固更安全。 通过getImp获取原有函数指针,通过replace替换原sel指向的指针为自定义函数指针,通setImp一样。 以上是针对OC的动态特性来hook的,我们能够hook动态语言下的…
Mach-O
Mach-O是Mach Object文件格式的缩写,是mac以及iOS上可执行文件的格式。Mach-O文件对应有多种格式: 在Xcode中我们可以直接创建.c文件,通过终端clang命令来对.c文件进行编译或生成可执行文件,下面看一下clang怎样使用的。 以上步骤可以用来写c…
应用签名-脚本签名
签名原理熟悉了,又能够手动对应用签名,那么就可以将手动签名部分写成脚本,通过脚本,一步步实现手动签名过程。脚本签名中xcode会对.ipa做权限管理,因此不需要做权限签名。 通过PP助手获取越狱应用。 新建xcode工程,在工程文件中新建两个文件夹tool、app。 app文件…
动态库注入
在文章《应用签名-脚本签名》中介绍了如何在真机上运行破壳应用(抖音、微信、支付宝等ipa包),来观察应用视图的层级结构,方法调用,类名称等,以便学习参考。应用主要与后台进行数据交互展示(数据拉取及提交数据),既然能对破壳应用重签名并在真机上运行,那么能不能修改应用数据和页面展示…