05 2018 档案
摘要:1、xcode在 release 模式下断点调试, 对象在打印的时候有值,断点调试却没值, 这是怎么回事? 设置Build Settings Optimization Level 为None[ OO],就可以了 改为: 2、不手动指定autoreleasepool的前提下,一个autorealese
阅读全文
摘要:1、UIView动画与核心动画的区别? 1.核心动画只作用在layer. 2.核心动画修改的值都是假像.它的真实位置没有发生变化. 什么时候用UIView动画什么时候用核心动画? 当需要与用户进行交互时用UIView,不需要与用户进行交互时两个都可以. 什么情况用核心动画最多? 1.转场动画. 2.
阅读全文
摘要:1、单例模式优缺点 主要优点: 1、提供了对唯一实例的受控访问。 2、由于在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。 3、允许可变数目的实例。 4、避免对共享资源的多重占用。 主要缺点: 1、不适用于变化的对象,如果同一类型的对
阅读全文
摘要:1、tableView的重用机制? UITableView 通过重用单元格来达到节省内存的目的: 通过为每个单元格指定一个重用标识符,即指定了单元格的种类,当屏幕上的单元格滑出屏幕时,系统会把这个单元格添加到重用队列中,等待被重用,当有新单元格从屏幕外滑入屏幕内时,从重用队列中找看有没有可以重用的单
阅读全文
摘要:1、申请后台运行除了后台刷新和VoIP及音乐播放和定位之外还有什么办法? UIBackgroundTaskIdentifier 2、你们项目中为什么多线程用GCD而不用NSOperation呢? 你有没有发现国外的大牛他们多线程都是用NSOperation? 你能告诉我他们这样做的理由吗? 关系:①
阅读全文
摘要:1、Objective C 中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么? 线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;在主线程执行代码,
阅读全文
摘要:1、给⼀个数组,要求⽤swift写⼀个函数,交换数组中的两个元素. 主要考察泛型和元组 2、这段代码有什么问题? 主要考察循环引用的问题,如下面代码: 解决方法,加上weak 3、使用swift实现一个函数,输入是任一整数,输出要返回输入的整数 + 2。 主要考察柯里化 4、简化已下的代码 主要考察
阅读全文
摘要:1、MVC跟MVP的区别以及使用的优缺点是什么? MVC中V和C之间的关系:C可以控制V的渲染这部分,V起显示作⽤用,同时V上发⽣生的⽤用户事件也可以给C来做⼀些处理理. C和M之间的关系: C可以修改M. M跟V之间的关系: M可以改变V, V读取M给它提供的数据, 可以展示界 ⾯面. MVC中,
阅读全文
摘要:Xcode编辑时报6 duplicate symbols for architecture arm64,解决方法: 方法1.查看自己项目中是否有重复命名的文件 (一般就是这个问题,如果项目中排查后,没有发现,就该项目所在的文件是否有重复命名的文件,删除一个就可以了,排查的目标一般都在报错前面列举出来
阅读全文
摘要:Logos语法 http://iphonedevwiki.net/index.php/Logos 新建Monkey工程时,MonkeyDev已经将libsubstrate.dylib库和RevealServer.framework库注入进去了,有了libsubstrate.dylib库就能写Logo
阅读全文
摘要:"iOS逆向之Method Swizzle" "iOS逆向之fishHook原理探究" "iOS逆向之fishHook怎么通过符号找字符串" 学习完上面的文章后,深感 "fishhook" 之强大,既然fishhook能hook系统的函数。那么猜想: 如果在我们的项目中hook了Method Swi
阅读全文
摘要:在 "fishhook" 中原本就有怎么通过符号查找字符串的说明,如下图: 现在以上一篇 "iOS逆向之fishHook原理探究" 中的NSLog为例来说明一下: 1、通过懒加载表Lazy Symbol Pointers找到动态表Dynamic Symbol Table Indirect Symbo
阅读全文
摘要:HOOK原理 1、MachO是被谁加载的? DYLD动态加载 2、ASLR技术(地址空间布局随机化):MachO文件加载的时候是随机地址 3、PIC(位置代码独立) 如果MachO内部需要调用 系统的库函数时 先在_DATA段中建立一个指针,指向外部函数 DYLD会动态的进行绑定,将MachO中的D
阅读全文
摘要:题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~ 准备工作 非越狱的iPhone手机 "fishhook" Demo 1: 1、新建工程,将fishhook文件拖入工程 2、我们的目的是hook系统的NSLog函数,编写代码 3、
阅读全文
摘要:题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~ 准备工作 非越狱的iPhone手机 用PP助手下载: 微信6.6.5(越狱应用) MachOView yololib class dump 学习这篇文章之前应该要对runtime有
阅读全文
摘要:题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~ 准备工作 非越狱的iPhone手机 用PP助手下载: 微信6.6.5(越狱应用) MachOView MachOView下载地址: "http://sourceforge.net/
阅读全文
摘要:iOS性能优化之Leaks动态分析 Instruments Leaks有很多跟踪模块可以动态分析和跟踪内存, CPU 和文件系统(因为是动态分析 所以必须运行才能打开)。 具体使用 1. 在XCode Open菜单下,点击Leaks 对App进行动态分析(快捷键CMD + i) 或者直接在工程中选择
阅读全文
摘要:题外话:此教程是一篇严肃的学术探讨类文章,仅仅用于学习研究,也请读者不要用于商业或其他非法途径上,笔者一概不负责哟~~ 准备工作 非越狱的iPhone手机 用PP助手下载: 微信6.6.5(越狱应用) MachOView MachOView下载地址: "http://sourceforge.net/
阅读全文
摘要:iOS逆向之HOOK原理 HOOK概述 HOOK(钩子) 其实就是改变程序执行流程的一种技术的统称! iOS中HOOK技术的几种方式 1、Method Swizzle 利用OC的 Runtime 特性,动态改变SEL(方法编号)和IMP(方法实现)的对应关系,达到OC方法调用流程改变的目的。主要用于
阅读全文
摘要:iOS逆向之自动化重签名 准备工作 非越狱的iPhone手机 用PP助手下载: 微信6.6.5(越狱应用) 步骤 1. 新建工程"自动化签名",在工程目录下新建APP文件夹放置需要重签名的ipa包 2. 在Build Phases中添加脚本 写入如下脚本: ${SRCROOT} 为工程文件所在的目录
阅读全文
摘要:iOS逆向之利用Xcode重签名 准备工作 非越狱的iPhone手机 用PP助手下载: 微信6.6.5(越狱应用) 步骤 1. 新建工程"Xocde重签名",选择开发证书,在真机上运行 2. 解压微信6.6.5(越狱应用).ipa,在微信 6.6.5(越狱应用) Payload下,将WeChat.a
阅读全文
摘要:iOS逆向之手动重签名App 准备工作 非越狱的iPhone手机 用PP助手下载: 微信6.6.5(越狱应用) 步骤 1. 解压微信 6.6.5(越狱应用).ipa,直接用系统的解压工具就可以,ipa实际上就是zip包; 2. 找到Payload文件夹下的Wechat.app 3. 在终端中查看微信
阅读全文
摘要:iOS App签名原理 在学习iOS签名之前,需要对密码学有一定的了解,比如RSA加密、HASH哈希函数 参考:https://www.jianshu.com/p/003288dfb3b7 一、简单的签名原理: 目的: 保证每个App都是经过苹果公司官方认证的 背景:因为手机和系统都是苹果公司生产的
阅读全文
摘要:密码学 1.HASH哈希(散列)函数 不可逆(不能用于加密和解密) 一个二进制数据只有一个HASH值 2.非对称 RSA 由于是简单的数学计算,所以加密的效率比较低,一般用于加密核心的(小数据) 公钥加密,私钥解密 私钥加密,公钥解密 3.对称 DES 3DES AES openssl 1.生成私钥
阅读全文
摘要:```
UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
statusBar.backgroundColor = [UIColor whiteColor];
```
阅读全文
摘要:断点 设置断点 $breakpoint set n XXX set 是子命令 n 是选项 是 name 的缩写! 查看断点列表 $breakpoint list 删除 $breakpoint delete 组号 禁用/启用 $breakpoint disable 禁用 $breakpoint ena
阅读全文
摘要:函数本质 SP和FP寄存器 sp寄存器在任意时刻会保存我们栈顶的地址. fp寄存器也称为x29寄存器属于通用寄存器,但是在某些时刻我们利用它保存栈底的地址!() 注意:ARM64开始,取消32位的 LDM,STM,PUSH,POP指令! 取而代之的是ldr\ldp str\stp ARM64里面 对
阅读全文
摘要:iOS开发中,编译后出现大量的警告提醒是很正常的,特别是当我们引入了一些第三方的类库时动辄就会出现几十个甚至几百个警告,而且我们又不能随意改动否则影响功能可就惨了,,,怎么办,,,那我们按以下教程暴力去除吧,gogogo 一)第一种方法 1.在xcode的左上找到下图,选择中间感叹号。 2.选中一个
阅读全文

浙公网安备 33010602011771号