应用的构建过程与签名

本文详细介绍了应用的构建过程,包括从源文件编译、链接、资源复制到签名的各个环节,特别是针对iOS应用的ipa包结构和签名机制。讨论了如何通过Xcode构建应用,以及逆向开发中涉及的Entitlements、Provisioning Profiles和证书等关键文件的作用,为逆向分析提供了理论基础。
摘要由CSDN通过智能技术生成

应用的构建过程与签名

一、引言

在逆向开发的过程中,一些常用逆向工具和逆向分析的技巧已经被我们所熟知和运用,但其中所用到的理论基础往往容易被忽略。理论基础的储备能够拓宽逆向分析的思路,并在遇到问题时很快的找到原因和应对的方法,从而使得逆向开发的过程变得轻松。下面从基础的包结构、包构建以及包安装进行解读。

二、应用包的格式

苹果的应用包主要是ipa格式的,其本身就是zip的压缩包,右键“归档实用工具”即可解压包内的内容,拿讯飞输入法举例,它的应用包内容结构如下:

AestheticdeMBP:应用 aesthetic$ tree 讯飞输入法-8.0.2336 -L 2
讯?\236?\223?\205??\225-8.0.2336
├── META-INF
│   ├── com.apple.FixedZipMetadata.bin
│   └── com.apple.ZipMetadata.plist
├── Payload
│   └── iFlytekIME.app
├── iTunesArtwork
└── iTunesMetadata.plist

其中Payload目录下就是iFlytekIME.app文件夹,为应用包的主要成分,它的目录下主要有如下几类文件:

  • 可执行文件: 它是应用的在iOS系统中的执行文件,是定义的MachO格式类型,就像ELF是Linux的可执行文件类型一样,它最终由dyld进行加载运行。

    逆向层面:运用Hopper可用于进行静态代码的分析,修改Load Commands段以加载注入的动态库,运用懒加载符号绑定的特性进行函数的Hook等</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值