摘要: 一、摘要 本文主要介绍逆向所用到工具,包括:UI分析Reveal,头文件导出class-dump,.m文件查看Hopper Disassembler,查看Mach-O文件结构指令工具otool、可视化工具MachOView 二、Reveal • Mac安装:https://pan.baidu.com 阅读全文
posted @ 2021-06-24 21:32 春天里的花骨朵 阅读(553) 评论(0) 推荐(0) 编辑
摘要: 一、摘要 本文主要介绍:Cycript使用,及其库的封装 二、安装使用 1)环境搭建 Cydia上搜索”Cycript”,并安装 进入Cycript环境 报错:“killed:9”,原因是没有相关权限; 2. 找到cycript文件; 3. 依次执行以下步骤:直接拖拽到Mac即可完成复制操作; 4. 阅读全文
posted @ 2021-06-24 10:55 春天里的花骨朵 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、摘要 本篇主要介绍:越狱、逆向环境搭建,iFunBox等软件安装,shell脚本登录、文件传输 二、环境搭建 1)越狱环境搭建 下载unc0ver:淘宝买(下载好后,按照卖家提示安装cydia) iOS端安装软件 Apple File Conduit “2”(可以访问整个iOS设备的文件系统): 阅读全文
posted @ 2021-06-23 17:19 春天里的花骨朵 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 一、摘要 1.阅读该篇,需要对runtime底层及类对象数据结构有一定了解,本篇仅着重讲解方法缓存的算法; 2.以下以类对象来论述,元类对象以此类推; 二、类对象数据结构 //rumtime源码 //小码哥图片 说明:其中cache_t类型变量cache就是用来缓存曾经调度过的方法; 三、方法调度原 阅读全文
posted @ 2020-04-06 17:20 春天里的花骨朵 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 一、摘要 1.七牛上传文件,用hash来唯一标识七牛存储空间中的某个文件,该hash是以ETag算法计算出的一段哈希值; 2.算法介绍:https://developer.qiniu.com/kodo/manual/1231/appendix; 3.七牛的提供的实现语言中(https://githu 阅读全文
posted @ 2020-03-02 16:32 春天里的花骨朵 阅读(1390) 评论(0) 推荐(0) 编辑
摘要: 一、isa指针结构 分析: 1.我们知道,实例对象的isa指针指向该对象所属类的类对象;类对象的isa指向其元类对象; 2.真机为arm64架构,模拟器和mac电脑为x86架架构,以下以arm64为例讲解; 3.在64位系统下,指针所占字节为8个即64位; 4.在arm64之前,isa就是一个普通的 阅读全文
posted @ 2019-10-09 14:14 春天里的花骨朵 阅读(515) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1)队列用来存储代码任务,线程用来运行代码任务; 2)main()函数作为程序入口,整个程序默认运行在主线程中,程序代码任务默认存放在主队列中; 3)以下所谓阻塞线程是针对主线程而言(子线程阻塞在所不问,自己手动管理);队列阻塞主要是针对主队列(子队列阻塞在所不问,自己手动管理); 4)在 阅读全文
posted @ 2019-02-14 16:40 春天里的花骨朵 阅读(1543) 评论(0) 推荐(0) 编辑
摘要: 说明:阅读本文,请参照之前的block文章加以理解; 一、循环引用的本质 //代码——ARC环境 //打印 分析:main函数日志输出之前,Person实例对象就被销毁了——因为在test1()方法中,强指针per持有[[Person alloc] init]对象会执行retain操作导致Perso 阅读全文
posted @ 2019-01-18 18:18 春天里的花骨朵 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 说明: <1>阅读本问,请参照block前述文章加以理解; <2>环境:ARC; <3>变量类型:基本数据类型或者对象类型的auto局部变量; 一、三种情形 //代码 //打印 //clang:xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc - 阅读全文
posted @ 2019-01-17 14:01 春天里的花骨朵 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 说明: <1>阅读本文章,请参照前面的block文章加以理解; <2>本文的变量指的是auto类型的局部变量(包括实例对象); <3>ARC和MRC两种模式均适用; 一、无法修改的原因 //代码 很明显,强行给age赋值会报错; //打印 分析:为什么在block内部不能改变age的值?往下看 // 阅读全文
posted @ 2019-01-16 11:09 春天里的花骨朵 阅读(353) 评论(0) 推荐(0) 编辑