iOS逆向工程-非越狱
简介
软件逆向工程,指的是通过分析一个程序或系统的功能、结构或行为,将它的技术实现或细节推导出来的过程。当我们对一个软件的功能很感兴趣,却又拿不到它的源代码时,往往可以通过逆向工程来对它进行分析。
运用
逆向工程主要有两个作用:
分析目标程序,拿到关键信息,可以归类于安全相关的逆向工程
- 评定软件的安全级别
- 逆向恶意软件
- 检查软件后门
借鉴他人的程序功能来开发自己的软件,可以归类于开发相关的逆向工程
- 逆向系统API
- 借鉴别的软件
脱壳
AloneMonkey
Dump
Hook
重签
完全重签名
证书,mobileprovision、Bundle ID 三者信息对应一致,这种重签名方式基本上与直接对代码进行签名的效果是一样的;
优点:有效期长、稳定性高;
缺点:维护成本较高,每一个重签名的ipa都必须修改Bundle ID 并且独享一套证书和mobileprovision文件;
适用范围:对签名效果稳定性有要求的公司和团队;
不完全重签名
只保证证书和mobileprovision对应一致,至于这两者与原ipa的Bundle ID 等信息是否一致则不考虑;
优点:看起来较方便维护;
缺点:实际上并没有对原ipa的签名进行完全替换,很容易重签名失败,稳定性不高,多则一两个月,少则三五天就可能发生签名失效,需要重新签名,慎用!!
适用范围:市面上出售企业证书进行重签名的个人卖家;