首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
逆向
订阅
ChenJz
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
iOS逆向 代码注入+Hook
在OC中,SEL和IMP之间的关系,就好像一本书的“目录”。SEL是方法编号,就像“标题”一样。IMP是方法实现的真实地址,就像“页码”一样。他们是一一对应的关系。Runtime提供了交换两个SEL和IMP对应关系的函数 method_exchangeImplementatio…
iOS基于二进制重排的启动优化
在应用加载时候不会把所有数据放内存中,因为数据是懒加载,当进程访问虚拟地址时候,首先看页表,如果发现该页表数据为0,说明该页面数据未在物理地址上,这个时候系统会阻塞该进程,这个行为就叫做页中断(page Fault),也叫缺页异常,然后将磁盘中对应页面的数据加载到内存中,然后让…
iOS汇编教程(六)CPU 指令重排与内存屏障
具有 ARM 体系结构的机器拥有相对较弱的内存模型,这类 CPU 在读写指令重排序方面具有相当大的自由度,为了保证特定的执行顺序来获得确定结果,开发者需要在代码中插入合适的内存屏障,以防止指令重排序影响代码逻辑[1]。 本文会介绍 CPU 指令重排的意义和副作用,并通过一个实验…
深入iOS系统底层之crash解决方法
一个应用程序并不总会一直运行的很好,它总会有出现crash崩溃的情况。如果在应用程序中接入了一些第三方的crash收集工具或者自建crash收集报告平台的话将会很好的帮助开发者去分析和解决应用程序在线上运行的问题,当出现的崩溃问题能得到及时的解决和快速的修复时必将会大大的提升应…
iOS 逆向 - LLDB
动态调试和静态分析都是我们必不可少的能力 . LLDB 是不管在正向开发还是逆向开发中 , 都是帮助我们调试必不可少的手段 . 而在逆向开发中不能像正向开发一样页面断点 , 可视化数据展示 , 源代码调试等方式的情况下 , LLDB 的作用就会尤其重要 . 考虑到并不是所有同学…
iOS 逆向 - lldb高级篇 Chisel 与 Cycript
上一篇文章 iOS 逆向 - LLDB 中讲述了 lldb 的一些基础用法 , 并没有涉及太多其他内容 , 逆向过程中常用的动态调试方法其实还有一些 , 本文针对上篇文章和实际逆向中的运用进行一个补充 . 主要针对 Chisel 以及 Cycript 两个部分 . 如果篇幅不长…
理解Mach O文件格式(1)
原文地址写在之前之前工作中对Mach-O文件有一定的接触,原本早就想写一篇文章分享一下,但是奈何只是不够深入,总怕分析的有问题误导读者。最近又在阅读深入解析MacOSX与iOS操作系统,借着这个机会记