IOS重签名

工具:

yololib代码注入工具

codesign重签名工具 codesign -d WeChat.app 显示可执行文件的路径

                                  codesign -d -v WeChat.app 显示详细信息

                                  codesign -d -vv WeChat.app 显示详细信息(含签名信息)

重签名就是用自己免费的证书替换app原有的证书,查看自己能用于签名的证书:security find-identity -v -p codesigning

注:app上发到AppStore,他会对你的app进行加密,也就是逆向的时候说的加壳(加固),所以对应就有了砸壳,加壳之后CPU是不能直接读取内容并加载到内存的,正常在运行的时候会先进行解密,然后加载到内存执行程序,所以我们就可以 从内存中dump出来解密后的数据。

 如何查看app是否被加密了?工具otool

   otool -l WeChat > ~/Desktop/123.txt 输出文件信息重定向到123.txt文件,其中有一个字段cryptid值为0代表没有加密,为1代表某种加密。

   otool -l WeChat | grep cryptid 搜索cryptid记录 会有两条记录 ,一个是armv7 一个是arm64的。

解密(砸壳)过后开始重签名:

首先先干掉几个没必要且没法重签名的插件 app包下面的PlugIns删掉,对app影响不大,还有一个东西要干掉 Watch app包下的PlugIns,或者直接将Watch文件夹干掉。

之后开始重签名

1.对Frameworks重签名

    codesign -fs “证书名字”  ConfSDK.framework<framework文件夹>

如此循环将所有的farmework重新签名。 

若二进制文件没有执行权限,先赋予权限chmod +x WeChat

2.拷贝描述文件

    新建项目WeChat1,build完后(用真机,不用真机没有embedded.mobileprovision文件的)在app包里面会有一个embedded.mobileprovision,将真正砸过壳的微信app包里面的embedded.mobileprovision替换成我们的。

3.修改info.plist里面的 AppId

    将工程的AppId复制替换info.plist里面的Bundle identifier

4.通过描述文件中的权限文件  进行整个App包的签名

    权限文件需要写入进去,打开描述文件security cms -D -i embedded.mobileprovision  直接改不了,将其中的entitlements复制

Xcode新建一个property List 名字为entitlements.plist,将复制的东西黏贴进去,将这个文件复制到app包路径下,然后用codesign工具进行对app的重签名。

输入命令:codesign -fs “证书名称” --no-strict --entitlements=entitlements.plist WeChat  ,之后会签名成功,

5.打包

    zip -ry WeChat.ipa Playload<输出文件夹>

安装就可以调试,查看界面设计,去学习了。

简化签名操作:Xcode重签名

     新建一个项目,命名为WeChat和原来WeChat的项目同名,不然会在安装运行的时候出现白屏什么都没有(Xcode不认)将build后的app文件替换成砸过壳的真正的WeChat.app文件,修改名字和项目名字一样,之后签名操作和上面的前几步一样,删除插件,签名framework文件,修改info.plist为项目名称。运行项目,在真机上查看安装过程,之后就可以进行lldb调试,查看界面怎么玩的,怎么设计的。

shell脚本重签名

新建项目,重新运行,安装空app,将脚本写入项目里,在工程路径下放一个文件夹APP下面将砸过壳的WeChat.ipa拷贝进去

shell脚本:

脚本就是对上面的重签名步骤以代码形式自动化实现了。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS自助签名超级工具是一种应用程序开发工具,可让开发人员自行签署和安装iOS应用程序,而无需依赖于苹果开发者账号的付费订阅或其他限制。它的功能包括提供一个用户友好的图形界面,让用户可以轻松地配置和管理签名证书、描述文件和应用程序的Bundle ID等。 使用iOS自助签名超级工具可以带来许多好处。首先,它能够降低开发者的成本。传统上,开发者需要购买苹果的开发者账号来签名和部署应用程序,这需要支付相当高昂的费用。而使用自助签名工具可以避免这个费用,并将这笔资金用于其他开发相关的事项。 其次,自助签名工具可以提高开发速度和灵活性。使用苹果的官方签名方式需要等待苹果的审核和发布过程,这可能需要几天乃至几周的时间。而使用自助签名工具,开发者可以立即将应用程序签名并安装到测试设备上进行测试,节省了宝贵的时间。 此外,自助签名工具还提供了更多的控制权和自定义选项。开发者可以自由地选择证书和描述文件,并定制应用程序的Bundle ID,以满足特定的需求。这种灵活性使得开发者能够更好地适应不同的开发环境和需求。 总之,iOS自助签名超级工具是一种方便、灵活且经济实惠的工具,可以帮助开发人员快速、高效地签署和部署iOS应用程序,提高开发效率并降低成本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值