![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS逆向
文章平均质量分 91
应用逆向
朗清风
iOS开发工程师
展开
-
instancesRespondToSelector:与respondsToSelector:
instancesRespondToSelector:与respondsToSelector:查看源码实现object_getClass(id obj)结论instancesRespondToSelector:respondToSelector:由于iOS是一门运行时语言,所以就不可避免地需要用到自省方法来判断当前消息是否可以被处理.其中用于判断方法是否是可以被响应的一个重要方法组就是instancesRespondToSelector:和respondsToSelector:,这两个方法在使用上是否相同原创 2021-01-13 17:42:21 · 582 阅读 · 0 评论 -
fishhook------源码解读
在 fishhook------原理分析中,验证了fishhook符号重绑定的实现原理,这里主要分析一下fishhook的代码实现.准备理论知识Mach-O的文件布局Mach-O文件一共有三个部分:Header:header包含了文件的基本信息,实际上不会映射到虚拟内存空间上去; Load Commands:这部分确定了文件数据在虚拟内存上的布局,包含各个部分的映射...原创 2019-10-29 10:17:52 · 486 阅读 · 0 评论 -
fishhook------原理分析
在iOS开发中经常会使用的Hook技术,由于OC本身是动态语言,可以通过运行时方法来动态交换方法的实现,添加统一的自定义操作,例如知名的实现框架是Aspects就是利用这一原理进行实现的.另外一种常用的技术就是通过修改符号表来重定向外部链接函数的实现,利用这一原理,也有一个非常著名的轻量级框架fishhook.准备mach O文件mach O文件是apple开发专属于mac\iOS的可...原创 2019-10-25 10:20:41 · 537 阅读 · 0 评论 -
逆向常用工具------class-dump
进行逆向时,经常需要dump可执行文件的头文件,用以确定类信息和方法信息,为hook相关方法提供更加详细的数据.class-dump的主要用于检查存储在Mach O文件的Objective-C中的运行时信息,为类,类别和协议生成声明信息,与tool -ov命令产生的信息相同,不同的是class-dump会将这些信息Objective-C声明形式提供,更加紧凑易读.安装class-...原创 2019-10-21 15:29:39 · 1246 阅读 · 0 评论 -
应用代码注入
了解了对砸壳应用重签名之后,发现在一些应用中做了对bundle identifier的校验,自定的bundle identifer并不能通过校验,这时候就需要尝试添加一些代码了.以下讨论接着应用重签名中QQ的重签名继续.准备在iOS的应用中,每个应用都会有一个elf(excutable and linkable file)类型的可执行文件,这个文件属于apple独有的mach O文件.这个...原创 2020-01-09 12:30:11 · 438 阅读 · 0 评论 -
应用重签名
在了解iOS的签名机制的基础上,尝试对iOS砸壳应用进行重签名.准备使用PP助手下载一个砸过壳的应用,这里用QQ做说明; 了解codesign,security等命令的使用.开始使用unzip命令将得到的ipa包进行解压(也可以将后缀名改为.zip直接解压)#解压到当前的QQ路径中unzip QQ-8.1.5\(越狱应用\).zip -d QQ查看可执行文件是否加密...原创 2019-10-17 17:39:04 · 301 阅读 · 0 评论 -
iOS签名机制
前言学习iOS签名机制,可参考如下学习路线:加密解密(对称DES 3DES AES、非对称RSA)--->单向散列函数(MD4、MD5、SHA1-3)--->数字签名--->证书--->签名机制一、加密解密1.1 对称和非对称为了防止传输信息被窃听,需要对传输信息进行加解密。根据密钥的使用方法,可以将密码分为 2 种,即对称密码和非对称密码(也称公钥...转载 2019-10-17 15:29:21 · 594 阅读 · 0 评论