美文网首页
iOS应用重签名

iOS应用重签名

作者: spyn_n | 来源:发表于2021-04-20 08:45 被阅读0次

知识点准备

MacOS用户组 文件权限
Unix Linux 属于多用户、多任务


image.png

我们关注第一列(权限):
eg:drwxr-xr-x

d rwx r-x r-x
文件类型(文件夹d、文件- 读、写、执行权限 读、执行权限 读、执行权限
User Group Other
为了配置方便,结合可以多组合方式,采用1左移进制位表示
  r   w   x  
  4   2   1
 100 010 001
组合方式有
0       1       2       3       4       5       6          7
---    --x     -w-     -wx     r--     r-x     rw-        rwx

指令修改某个文件/文件夹的权限命令:chmod
改变权限方式有两种:

  • 1、通过数字类型改变
    eg:chmod 755 + 文件名
  • 2、通过符号类型改变
    格式:chmod [u、g、o、a] [+(加上)、-(除去)、=(设置)] [r、w、x] 文件名称
    eg:chmod a+ fileName a可省略
    【+加入, -减去,=设置】

codesign手动重签名

1、删除插件PlugIns文件和Watch文件(带插件的文件都删除)
2、定位到Frameworks将文件夹中所有的framework进行重签名。
  可先查看自己当前电脑有哪些可用于签名的证书,使用命令查看:security find-identity -v -p codesigning

查看可使用证书
  选择一个证书对Frameworks中的framework逐个重签名,使用命令codesign -fs "证书" xxx.framework

3、查看MachO文件是否有可执行权限,没有则添加可执行文件
  使用命令查看权限列表:ls -l + MachO文件名
  添加可执行权限:chmod +x MachO文加名

4、新建一个工程,拷贝描述文件拷到APP包中,并且修改Bundle Identifier
  选择签名framework时的\color{}{同一账号的同一证书}拉取描述文件,编辑成功后,Show in Finder将描述文件(embedded.mobileprovision)拷到要重签名的APP包中,并且修改掉info.plist文件中的Bundle Identifier保存。
  将新建工程安装到到手机上。
5、拿到权限文件,用权限文件重签APP
  cd到描述文件路径下,通过命令security cms -D -i embedded.mobileprovision查看描述文件。找到Key:Entitlements对应的Value:<dict>权限</dict>复制,在新建工程中新建plist文件,Open as -> Source Code将其粘贴并保存,修改plist文件名为:entitlements.plist

image.png
plist文件拷贝到APP包同级目录下。使用命令:codesign -fs "证书" --no-strict --entitlements=entitlements.plist WeChat.app重签APP

6、通过Window->Devices and Simulators完成安装

image.png

Xcode重签名

1、删除插件PlugIns文件和Watch文件(带插件的文件都删除)
2、定位到Frameworks将文件夹中所有的framework进行重签名。
  可先查看自己当前电脑有哪些可用于签名的证书,使用命令查看:security find-identity -v -p codesigning

查看可使用证书
  选择一个证书对Frameworks中的framework逐个重签名,使用命令codesign -fs "证书" xxx.framework
3、新建一个\color{#ff0000}{同名}工程(与你将要重签名的应用的MachO文件同名),选择与上面使用与重签名framework的证书一致,选择可用的Bundle Identifier,拉取描述文件----Provisioning Profile,将该Bundle Identifier替换到需要重签名应用包的info.plistBundle Identifier,然后运行该工程到手机。
4、最后将需要重签名的应用包拷贝替换掉新建工程的Products文件中以.app后缀的文件,然后重新command + R重签名就成功了。

脚本重签名

步骤简单得一笔,其就是根据Xcode的重签流程,使用脚本做了一遍。
1、将新建工程,将其装到手机上
2、添加脚本,在运行一次


image.png

相关文章

  • iOS开发逆向之应用重签名(上)

    本文主要介绍重签名的几种方式,以及如何对应用进行重签名, 应用重签名 从之前《iOS逆向应用签名》中可知,签名是指...

  • 通过Shell脚本对应用重签名

    通过上两篇文章(iOS 应用重签名|使用Xcode简化应用重签名)对操作应用的重签名有了一定的认识,但是好像每次都...

  • iOS应用重签名

    网上关于签名的脚本有很多,我找了个本人觉得比较好用的脚步iOS_resign_scripts,下载脚步里面有三个脚...

  • iOS应用重签名

    代码重签名 签名机制 iOS签名需要用到codesign这个命令,了解这个命令的用法可以增加我们对签名机制的了解 ...

  • iOS 应用重签名

    本文我们将重签名一个App,实现将他人的App安装到自己手机上,然后进行部分的调试工作。 需要准备的资料: 1、安...

  • iOS应用重签名

    一、越狱版应用重签名(正版的需要砸壳,这个以后介绍) 应用重签名需要以下几个步骤: 删除插件和带有插件的.app包...

  • iOS应用重签名

    说到iOS重签,那么就应该了解iOS正常签名流程是什么,然后才能知道,我们重签名从哪几个地方入手。 iOS签名 代...

  • iOS应用重签名

    codesign Xocde提供了签名工具,codesign,我们通过几个命令就可以完成重签名 •$securit...

  • iOS 应用 重签名

    前言 在逆向过程中,当我们对IPA包发生改动时,就需要对IPA包进行重新签名,才可以重新安装到我们的iOS设备中。...

  • iOS应用重签名

    知识点准备 MacOS用户组 文件权限Unix Linux 属于多用户、多任务 我们关注第一列(权限):eg:dr...

网友评论

      本文标题:iOS应用重签名

      本文链接:https://www.haomeiwen.com/subject/scddlltx.html