自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 iOS逆向之旅(基础篇) — App的签名机制【Xcode是如何将App安装到手机的】

首先先科普一下XCode签名需要用到的理论知识RSA加密算法: 一种非对称的加密算法,用于通信。这种算法通常是客户端持有公钥,服务端持有私钥。客户端利用公钥加密。服务端可以用私钥解密。服务利用私钥加密数据发给客户端,客户端可以利用公钥解密出来。【简单来说就是:公钥加密的数据,利用私钥可以解密;私钥加密的数据,公钥同样能解密】 数字签名 客户端把【数据】,并利用公钥加密【数据的MD5】,然后...

2018-10-15 14:41:03 598 1

原创 iOS逆向之旅(基础篇) — Macho文件

Macho文件(Mach Object的缩写)常见的格式:可执行文件 .o文件(目标文件)/a 静态库文件.其实就是N个.o文件的集合 动态库文件(dylib/framework) 动态连接器 DSYM 我们首先使用MachoView,去查看App的核心可执行文件的内部,这里以微信App为例取出微信的二进制可执行文件(Macho文件) ,打开MachoView进行分析...

2018-10-15 10:05:01 840

原创 iOS逆向之旅(基础篇) — 汇编(五) — 汇编下的Block

  oc源码:- (void)viewDidLoad { [super viewDidLoad]; void(^block)(void) = ^(){ NSLog(@"111"); }; block();} 汇编:03-汇编-Block`-[ViewController viewDidLoad]: ... 0x100...

2018-10-15 10:04:55 471

原创 iOS逆向之旅(基础篇) — 汇编(四) — 汇编下的函数

首先我们先观察最干净的函数,做了什么  这个函数什么都没做void _func_1_(){} 我没来看看这个函数的调用,与函数的里面的汇编是咋样的  函数调用的汇编0x1004228a0 <+24>: bl 0x100422824 ; _func_1_ at main.m:13  函数执行的汇编02-汇编-函数`...

2018-10-15 10:04:48 342

原创 iOS逆向之旅(基础篇) — 汇编(三) — 汇编下的 Switch语句

Switch样式一 原C代码如下:void __switch_1__(){ int value = 5; switch (value) { case 0: printf("1"); break; case 1: printf("2"); brea...

2018-10-15 10:04:38 345

原创 iOS逆向之旅(基础篇) — 汇编(二) — 汇编下的 IF语句

 目录我们先根据一段简单的C语言去了解arm64汇编Xcode下如何查看反汇编我们先根据一段简单的C语言去了解arm64汇编  原C代码如下:void __if__(){ int value = 5; if(value == 3){ printf("333"); } else if (value == 4) { pr...

2018-10-15 10:04:31 452

原创 iOS逆向之旅(基础篇) — 汇编(一)— 汇编基础

科普     模拟器32位处理器测试需要i386架构,     模拟器64位处理器测试需要x86_64架构,     真机32位处理器需要armv7,或者armv7s架构,(armv7s 是iPhone5C、armv7是iphone4之前的手机版本)     真机64位处理器需要arm64架构。(iPhone5s之后的手机)【接下来主要学习的】ARM64汇编的学习路线寄存器 常用...

2018-10-15 10:04:22 220

原创 iOS逆向之旅 — 总纲

目录逆向杂谈学习iOS逆向的用处学习路线逆向杂谈因为我大学期间开发游戏外挂,对于逆向的强大有过不小的认识。能让别人的代码照着自己的思路去走,感觉是蛮优秀的一件事。所以带着好奇心去研究了iOS逆向。对于iOS逆向,很多人只听过《IOS应用逆向工程》,单纯通过书籍还有杂乱的博文,想要入门还是挺难的。其实iOS逆向没想象中那么难,只要我们找到方法。你想想【游戏外挂】只是单纯凭借C++...

2018-10-12 14:49:21 609 1

原创 RAC的源码阅读(二)

上篇已经介绍了RACSignal 冷热信号转换的源码跟踪,本篇主要介绍RACSubject 信号订阅及信号发送的源码跟踪先贴一段示例代码,待会就对这段代码进行源码跟踪//1️⃣RACSubject 创建RACSubject * subject = [RACSubject subject];//3️⃣ 订阅信号[subject subscribeNext:^(id x) { NSLo...

2018-05-20 14:02:57 129

原创 RAC的源码阅读(一)

简单介绍    一个很出名的函数响应编程开源框架,可以帮助我们更简单快捷的处理事件RAC中最常见的类RACSignal 信号类RACDisposable 它可以帮助我们取消订阅RACSubscriber 订阅者RACSubject 信号提供者RAC 信号订阅发送的两种方式RACSignal  冷信号到热信号的转换RACSubject  能充当信号,又能发送信号RACSignal 冷热信号转换的源码...

2018-05-20 13:27:01 259

原创 iOS的音频文件的格式转换

背景因为我的公司需要设计到app与硬件的通信,所以去年深入的研究了一下音频各种格式的转换,曾写过一篇简书(https://www.jianshu.com/p/2937ab95c0f2),现在搬过来丰富下自己的blog。首先介绍一下常用的音频文件格式.amr:体积很小,1秒到约为1kb,所以音质缩水也很厉害,一般用于手机铃声或彩信.mp3:比较流行的,有损音频,某些部分失真,,音质随码率的提高,越高...

2018-03-30 16:09:21 9379

原创 iOS 环信 EaseUI 的优化

背景去年曾为了项目的一个即时通信功能集成过环信,因为考虑开发的低成本,就直接使用了环信的 EaseUI环信的文档提供了很多好友管理、群聊操作的API,但当你看到下图后,这些api直接可以无视掉所以环信当作工具来使用即可,千万别用他的后台系统(我的公司安卓那边莫名的相信环信后台,白白浪费了近两个多星期)为什么需要优化?因为环信的EaseUI,是根据环信自己后台开发的,所以需要让EaseUI更好地跟我...

2018-03-26 18:30:34 764

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除