您现在的位置是:首页 > 正文

iOS重签名

2024-02-29 14:17:02阅读 9

 

需要付费账号

付费账号创建的配置文件,命名为embedded.mobileprovision(appId、device必须匹配),将该配置文件放入.app包中。

  •           通过Xcode自动生成,然后编译之后,在xxx.app的包中找到该配置文件。
  •           或者去开发者中心去配置下载。

从配置文件embedded.mobileprovision中 提取entitlements.plist权限文件

  •          security cms -D -i embedded.mobileprovision > temp.plist
  •          /usr/libexec/PlistBuddy -x -c 'Print:Entitlements' temp.plist > entitlements.plist

 


复制相关文件到.app中

  • 将苹果开发者平台生成的embedded.mobileprovision复制到.app文件中
  • 如果通过Theos开发的动态库插件xxx.dylib,则需要把xxx.dylib和CydiaSubstrate文件复制到.app中

      动态库的路径为/Device/Library/MobileSubstrate/DynamicLibraries/xxx.dylib

      CydiaSubstrate文件可从越狱手机中找到,路径为/Device/library/Frameworks/CydiaSubstrate.frame/CydiaSubstrate


注入动态库

https://github.com/Tyilo/insert_dylib  

使用insert_dylib库将动态库注入要mach-O文件中

用法

  • insert_dylib 动态库加载路径  Mach-O文件
  • 2个常用的参数选项 

                --weak,即使动态找不到也不会报错

                --all-yes,后边所有的选择均为yes

  • insert_dylib的本质是往Mach-O文件的Load Commands中添加一个LC_LOAD_DYLIB或者LC_LOAD_WEAK_DYLIB
  • 可以通过otool查看Mach-O的动态库依赖信息

                   otool -L Math-O文件

例子:

insert_dylib @executable_path/WeChatBackTweak.dylib WeChat --all-yes --weak WeChat

更改动态库加载地址

  • 可以使用install_name_tool修改Mach-O文件中的动态库的加载地址

                 install_name_tool -change 旧地址  新地址 Mach-O文件

  • 通过Theos开发的动态库插件(dylib)

              默认都依赖于/Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate

             如果要将动态库插件打包到ipa中,也需要将CydiaSubstrate打包到ipa中,需要修改CydiaSubStrate的加载地址

install_name_tool -change /Library/Frameworks/CydiaSubstrate.framework/CydiaSubstrate @loader_path/CydiaSubstrate WeChatBackTweak.dyli

 

2个常用环境变量

@executable_path代表可执行文件所在的目录

@loader_path代表动态库所在的目录


 

 查看可用的证书

  • security find-identity -v -p codesigning
  • 记录 证书ID 

对.app内部的动态库、AppExtension等进行签名

  • codesign -fs 证书ID xxx.dylib
  • 包括新加入的动态库和CydiaSubstrate
  • codesign -fs *** wechatUnread.dylib
    codesign -fs *** CydiaSubstrate

对.app包进行签名

codesign -fs 证书ID --entitlements entitlements.plist xxx.app

或者用重签名GUI工具

  • iOS App Signer

             https://github.com/DanTheMan827/ios-app-signer

             可以对.app重签名打包ipa

              需要再.app包中提供对应的embedded.mobileprovision文件

  • iReSign

          https://github.com/maciekish/iReSign

          可以对ipa进行重签名

          需要提供entitlements.plist ,  embedded.mobieprovision文件的路径


 

 

注意

安装包中的可执行文件必须经过脱壳的,重签名才有效

.app包内部的所有动态库(.frameword,.dylib),AppExtension(Plugins文件夹,拓展名是appex),WatchApp(Watch文件夹)都需要重新签名

需要将之前从app store下载的app删掉,才能安装重签名之后的app,否则会安装失败

 

 

 

网站文章

  • Verilog 语法task和function不可以使用initial和always

    Verilog 语法task和function不可以使用initial和always

    记录一下如题,Verilog 语法task和function不可以使用initial和always以后再更新吧

    2024-02-29 14:16:53
  • 如何结合原厂MCU和开发环境与业内领先软件工具来加速关键任务型应用开发?...

    如何结合原厂MCU和开发环境与业内领先软件工具来加速关键任务型应用开发?...

    随着市场需求和汽车行业不断推进电动化、网联化、智能化和共享化等“新四化”,工程师将会面对越来越多的软件开发项目,去用高性能的、获得车规级和功能安全认证的MCU开发相关应用。将MCU供应商匹配提供的MCU开发环境,与业内领先的开发工具相结合,将会给开发人员带来开发效率和成果性能的大幅提升。本文以在汽车行业被广泛使用的S32K系列32位Arm Cortex汽车MCU为例,来介...

    2024-02-29 14:14:26
  • 在odoo服务器文件夹,在windows10上安装odoo12开发环境的方法

    在odoo服务器文件夹,在windows10上安装odoo12开发环境的方法

    前言鉴于好多朋友说没有mac电脑,windows开发其实也差不了多远,只是个人习惯问题,而且吧,windows的电脑其实配环境也挺快的其实,我在这里再稍微补一个比较简单的windows环境部署,希望可...

    2024-02-29 14:14:18
  • 获取本地视频流

    思想: 获取本地视频流 1、navigator 提供视频流注册的一些活动 2、mediaDevices:提供访问连接媒体输入的设备(相机、麦克风、视频。。。) 3、getUserMedia 得到用户的设备,使用户开启设备权限 constraints 流的触发的参数,得到用户许可的参数 4、得到用户的视频流(媒体流)输出到video html代码 js代码

    2024-02-29 14:14:09
  • Linux系统中查看CPU信息的方法有哪些?

    这些是在Linux系统中查看CPU信息的常见方法。根据您的需求和具体环境,您可以选择适合您的方法来查看CPU信息。在Linux系统中,您可以使用多种方法来查看CPU信息。

    2024-02-29 14:10:25
  • 【.Net】.net获取exchange service用户日历会议数据或邮箱数据

    近期.net项目中,客户要求在定制化页面中展示指定用户的exchange日历会议数据以及邮箱内容数据,下面将详细来说一下实现过程

    2024-02-29 14:10:13
  • 用ini文件远程连接mysql

    最近改写个东西,又重新写了写MySql的连接。为了便于灵活应用,用读取ini文件的方式读取mysql连接参数。顺便学习了下ini文件。ini格式。ini文件由很多节组成。[NETWORK]//节host=*.*.*.*//host:键、IP:值user=rootpwd=//不写即为空读取:GetPrivateProfileString("NETWORK","host"...

    2024-02-29 14:10:06
  • ESP8266-12F 介绍与使用之程序烧录

    ESP8266-12F 介绍与使用之程序烧录

    ESP8266-12F 程序烧录 ESP8266 一.简介 前一段时间一直用ESP8266-12F开发板来学习开发,但是最近想做一些小的智能产品,像智能时钟以及温湿度检测等等,如果用一个完整的模块感觉...

    2024-02-29 14:08:25
  • Netty Codec框架

    Netty Codec框架

    什么是 Codec编写一个网络应用程序需要实现某种 codec (编解码器),codec的作用就是将原始字节数据与目标程序数据格式进行互转。网络中都是以字节码的数据形式来传输数据的,codec 由两部...

    2024-02-29 14:08:17
  • 对称块加密算法加密模式

    在现有的对称加密算法中,主要有4种加密处理模式,这4种加密处理模式一般是针对块加密算法而言的,如DES算法。这4种加密模式罗列如下: 模式中文描述 英文名称(Openssl缩写) 电子密码本模式 Electronic Code Book(ECB) 加密块链模式 Cipher Block Chaining(CBC) 加密反馈...

    2024-02-29 14:08:12