iOS高级调试&逆向技术-汇编寄存器调用约定教程

前言 本文翻译自Assembly Register Calling Convention Tutorial 翻译的不对的地方还请多多包涵指正,谢谢~ 序言 通过本教程,你会可以看到CPU使用的寄存器,并探索和修改传递给函数调用的参数。还将学习常见的苹果计算机架构以及如何在函数中使用寄存器。这就是所谓架构的调用约定。 了解汇编是如何工作的,以及特定架构调用约定是如何工作是一项极其重要的技能。它可以让你在没有源码的情况下,观察和修改传递给函数的参数。此外,因为源码存在不同或未知名称的变量情况,所以有时候更适合使用汇编。 比如说,假设你总想知道调用函数的第二个参数,不管参数的名称。汇编知识为你提供一个很好的基础层来操作和观察函数中的参数。 汇编 »

根据图片文件获取图片的尺寸(分辨率)

背景 有这么一个需求,需要在上传图片的时候,把图片的尺寸返回给服务器。如果每次上传时都把图片数据转成UIImage,然后获得size。那么代价(cpu+内存)是比较大的。于是想着实现通过读取头几个字节来实现获得尺寸的方法。 当然不同的图片格式有不同的读取方法,本文只讲了最常见的4种图片读取:png、gif、bmp、jpg。另外还会讲一下通过第一个字节来获取类型的方式(后缀名不靠谱,有时候会骗人)。 读取相应图片格式的尺寸 png: 取出文件第16个字节到第24个字节的data。 + (CGSize)sizeWithPngData:(NSData »

10分钟搭建局域网下载企业包环境

背景: 网速慢,下载慢+失败。 准备事项: 1) 一份用于下载的plist文件 2) ipa安装包 3) 下载入口--html 4) https服务器 5) 局域网内的服务器 1、2、3都有模板参考,第4步需要着重说下。建议使用第三方云平台提供的https协议服务,省事省力。这边参考用例是七牛的。 开始 一、 将ipa安装包放到本地局域网服务器内,可以通过www协议来访问。 »

代码质量检查

1. 对现有问题的分析 命名不规范(属性名,方法名) Reatin Delegate 用指针和普通类型做比较 又自又长的旧语法 对代码中的问题没有度量 个性化测试需求 缺陷代码级定位 缺少白盒测试,可能有些问题在非常规情况才会发生 2. 现有工具分析 Clang compiler Clang compiler包含很多使用警告,是的,当我写上TODO时,他就会显示出来 Clang Static Analyzer »

致力打造最好用的APP首页组件 - YRichView

背景: 公司很多首页,各种列表分类页、以及商详页,都采用了如下的形式: 但是公司的并没有一个好的组件可以使用,不仅每次重复复制代码,而且体验也很差,因为采用很多手势的原因,造成各种手势冲突,划一下就停顿(不是因为卡)。于是就有了做组件的想法。 分析 一、 相似性 !特性图 上面都有一块类似header的部分 中间有一块分类表,总是存在于屏幕上,类似于tableview的section header。 下面是各个分类的内容,有可能是UITableView,有可能是UICollectionView,还有UIScrollView。 »

lizy