前段时间我自己申请了个微信小号,申请小号的目的就是原来微信号好友中乱七八糟的人实在太多,感觉自己的朋友圈都是一些无关紧要的垃圾信息,曾经关闭了一段时间的朋友圈,但是最近遇到了好多技术上很强的同行,还想了解大佬们的动态。
于是我就想着申请了个小号,但是麻烦来了,iPhone手机并不像安卓手机那样存在着微信多开之类的应用,将自己手机越狱吧成本太高,于是就想着通过技术手段安装多个微信,下面步入正题:
为什么要重签名
其实我们平时开发的App,程序运行主要就是加载一个Mach-o可执行文件。当我们将程序打包成ipa文件,上传到App Store的时候,期间就是进行了一些加壳操作,比如:数字证书签名等。重签名的目的就是将别人的程序重新签上我们的证书信息。也可以简单理解为将别人的加密文件解密,加上我们自己的加密算法。
逆向当中的一些专业术语
加壳:利用特殊算法(iOS中数字证书),对可执行文件的编码进行改变,以达到保护程序代码的目的
脱壳:摘掉壳程序,将未加密的可执行文件Mach-o还原出来
查看应用是否加壳
将下载好的ipa包解压缩之后,拿到里面的Mach-o文件,cd到所在目录,执行如下命令:
怎么给应用脱壳
给应用脱壳有两种途径:
一、直接从一些第三方应用商店里面下载你想脱壳的应用,例如:PP助手、iTools等
二、自己脱壳,利用GitHub上开源的一些工具,常用的有Clutch、dumdecrypted。具体如何使用,请自行Google
前期准备工作:
一台iPhone,越不越狱都行
开发者证书或者企业证书(个人账号也行,但是应用安装上之后,有效期只有7天)
电脑安装 iOS App Signer
其实重签名的方式有很多,比如:可以利用sigh resign命令,在终端下操作,还可以借助一些逆向相关的重签名工具,本文采用iOS App Signer
了解以上基本概念之后,下面正式开始史上最详细的重签名过程,以微信为例:
第一步:准备好脱壳后的微信App
我是直接从PP助手上下载的,感兴趣的可以自己手动脱壳
适合没有网站或者网站需要改版的企业;公司提供A、B、C、D四个套餐供客户选择;具体套餐内容咨询
适合一些已经有自己网站的企业;根据客户提供的域名跟关键词报价;具体关键词价格咨询