iOS 安全
文章平均质量分 68
ZhaiAlan
iOS开发工程师
展开
-
iOS 如何创建一个线程安全的数组
我们平时使用的NSMutableArray,在进行增删改查的时候,会出现数据异常的场景(关键是异常并不是必现的,不太好复现)运行代码,发现最后array的个数并不等于6000,多运行几次,发现每次的结果都不一样。1、通过NSLock锁实现。2、通过串行队列实现。原创 2023-06-29 15:21:25 · 1189 阅读 · 0 评论 -
iOS的签名机制
密钥传输用 非对称加密(安全), 消息传输用 对称加密 (速度快)原创 2022-11-14 20:22:48 · 1348 阅读 · 1 评论 -
iOS 逆向初探防护(fishHOOK防护)
前言在iOS开发中,始终都有这安全防护一直都是热门话题,很多的对于开发网络请求要使用https请求,使用RSA +AES加密,本地文件加密等等,这些都是整箱开发中的防护手段,这篇文章,一起来探索一下逆向开发防护的初探;逆向开发人员进攻:应用重签名并注入Framework代码Demo, 后续单独写一篇文章来介绍应用重签名并注入代码;这里先大概介绍一下:应用重签名,使用别人开发的应用(...原创 2020-04-01 17:09:18 · 1026 阅读 · 0 评论 -
iOS逆向之fishhook原理
FishHookfishHook是Facebook提供的一个动态修改链接mach-O文件的工具。利用MachO文件加载原理,通过修改懒加载表(Lazy Symbol Pointers)和非懒加载表(Non-Lazy Symbol Pointers)这两个表的指针达到C函数HOOK的目的。在逆向中经常使用fishHook这个工具。所以在学习过程中,我们重点要了解其原理,这样能够对恶意代码进行...原创 2020-04-01 15:20:11 · 537 阅读 · 0 评论 -
lldb调试进阶
前言相关文章 lldb调试命令一相关代码LLDB前面一篇文章,让大家了解了一些LLDB 在断点上的用法,这篇文章主要对lldb的一些进阶用法。LLDB进阶在之前的iOS底层探索中,我经常Xcode调试的时候在LLDB上输入:p xxx或者 输入了po xxx,就获取了一个对象的值。那么p或者po含义到底是什么呢?LLDB输入help...原创 2020-03-24 11:14:50 · 395 阅读 · 0 评论 -
iOS开发优化的起步之启动优化
前言作为开发人员,启动是App给用户的第一印象,对用户体验至关重要。任何开发的APP的业务迭代迅速,如果放任不管,启动速度会一点点劣化。为此iOS客户端团队做了大量优化工作,除了传统的修改业务代码方式,我们还做了些开拓性的探索,首先我们需要考虑的是,应用启动分为2种情况:冷启动:指 app 被后台杀死后,在这个状态打开 app,这种启动方式叫做冷启动,根据测试结果并非是杀掉进程后直接启动,...原创 2020-03-20 17:18:51 · 812 阅读 · 0 评论 -
lldb调试命令一
1.什么是LLDB LLDB是英文Low Lever Debug的缩写,是XCode内置的为我们开发者提供的调试工具;方便开发者对开发问题进行快速有效的解决;2.LLDB 断点设置新建一个Object-C工程,写了下方代码,给一个 OC 方法下断点,运行工程,就可以进入LLDB调试环境1、使用LLDB中“breakpoint set -n 函数名 ”下断点...原创 2020-03-02 11:40:52 · 1479 阅读 · 0 评论 -
01-初识汇编
了解到在逆向开发中,非常重要的一个环节就是静态分析.首先我们是逆向iOS系统上面的APP.那么我们知道,一个APP安装在手机上面的可执行文件本质上是二进制文件.因为iPhone手机本质上执行的指令是二进制.是由手机上的CPU执行的.所以静态分析是建立在分析二进制上面.所以今天我们接下来的课程从非常基础的东西开始讲解.汇编语言的发展机器语言由0和1组成的机器指令.加:...原创 2019-11-27 13:52:38 · 407 阅读 · 0 评论 -
frida 安装踩坑之旅
首先查看官网安装frida很简单:电脑执行pip install frida-tools之后首先发现没有pip,很简单sudo easy_install pip 安装完成pip后开始重新执行pip install frida-tools卡主,半小时没有动,感觉有可能是公司网络不好,就打开手机热点连通,再次尝试,还是不行,还是不行,然后就开始百度找问题,需要...原创 2019-11-14 10:09:59 · 2589 阅读 · 0 评论