首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
编译
订阅
FranzWang
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
iOS 崩溃日志在线符号化实践
本文将介绍什么是符号化?如何做本地符号化?为什么做在线符号化?只有符号化后的崩溃日志才能显示各个线程的函数调用,而不仅仅是毫无意义的虚拟内存地址。
深入 iOS 静态链接器(一)— ld64
本文从源码角度分析了 ld64 的主体工作原理,实际应用中工程可结合自身需求对 ld64 进行定制来修复特定问题或者实现特定功能。
iOS 编译全过程
这几天看了下编译过程,记录方便查阅及备份。主要内容来源于网路,包含以下知识点: 理论上一个语言对应一个编译器,这样就引入了中间优化器,可以接受多种语言,然后输出对应的机器语言,这样前端只负责输入,后端负责输出即可,新增一种语言,就在中间优化层增加逻辑即可。 接着执行./main…
编译链接二三事
少部分动态库在程序启动加载时,通过dyld链接。 大部分动态库的第一次使用时,才通过dyld链接(减少启动耗时)。 跨端UI框架Flutter同样支持AOT和JIT;在Debug 模式下,采用 JIT即时编译,Release 模式下采用的是 AOT 静态编译。其中,JIT将 D…
从 简单汇编基础 到 Swift 不简单的 a + 1
汇编语言是二进制指令的 文本形式,计算机会把 我们的代码 转换为 汇编语言,汇编语言 通过机器指令 还原成 二进制代码,也就是所谓的 0 1,计算机就可以执行了。 每一个 CPU 的 机器指令不同,所以对应的汇编语言也不同。 ... 所以CPU 有了寄存器,来存储频繁使用的数据…
优化 iOS 项目编译时间
随着项目越来越大,编译时长也会越来越长。那么编译的优化就必不可少了。 在 xcode 的编译 log 可以查看时长,也可以查看总时长,每一个 文件的编译时长。 在 xcode => build settings => Other Swift Flags 添加下面设置,可以看到 …
iOS汇编入门教程(一)ARM64汇编基础
对于应用层开发人员而言,仅仅掌握Objective-C和系统框架即可较好的完成开发,但在涉及到应用加固、逆向分析等内容时仅有应用层开发技能就会显得非常的无力,因此掌握汇编对于突破iOS开发水平的瓶颈十分有效。 以反调试为例,我们知道,通过调用ptrace函数可以阻止调试器依附。…
iOS汇编教程(四)基于 LLDB 动态调试快速分析系统函数的实现
在前三篇文章中,主要介绍了汇编中的常见指令和寻址方法,本文将结合这些知识介绍一种基于汇编代码和动态调试快速分析函数逻辑的方法。 在进行逆向工程,或是涉及到底层的正向开发(如性能优化、安全防护)时,常常会使用一些系统级的函数,有些时候从细节上了解这些函数的逻辑是十分必要的,例如 …