应用重签名

2019-10-12  本文已影响0人  Code_人生

一、codesign

Xcode提供了签名工具,codesign,我们通过几个命令就可以完成重签名

终端命令

$security find-identity -v -p codesigning 列出钥匙串里可签名的证书
$codesign –fs "证书串(iPhone Developer: weibing yao (2J6EA7WS74))" 文件名 强制替换签名
$chmod +x 文件名 给文件添加执行权限
$security cms -D -i ../embedded.mobileprovision 查看描述文件
$codesign -fs “证书串” --no-strict --entitlements=权限文件.plist APP包
$Zip –ry 输出文件 输入文件 将输入文件压缩为输出文件
$codesign -vv -d WeChat.app 查看WeChat.app的信息
$otool -l WeChat 读取可执行文件WeChat,MachO
$otool -l WeChat > ~/Desktop/123.txt 读取可执行文件WeChat,重定向,到桌面的123.txt
$otool -l WeChat | grep cry 读取可执行文件WeChat,管道输出,筛选cryptid

运行的时候解密,所以一定要是高效的,解密到内存。如果安装的时候解密的话,直接从安装之后的磁盘复制出来不就好了。所以一定是运行是解密。每次运行都解密。

二、重签名步骤

1、删除插件和带有插件的.app包(比如Watch)
2、对Frameworks里面的库进行重签名
3、给可执行文件 +x(可执行)权限
4、添加描述文件(新建工程,真机编译得到)
5、替换BundleID
6、通过授权文件(Entilements)重签.app包

三、SHELL脚本

3.1、shell基础知识

bash是一种shell,zsh也是一种shell
1、根目录下,执行cd /bin
2、open .

3、chsh -s /bin/bash 切换成bash

4、chsh -s /bin/zsh 切换成zsh

dengyazhou-MacBook-Pro:~ dengyazhouPro$ pwd
/Users/dengyazhouPro
dengyazhou-MacBook-Pro:~ dengyazhouPro$ cd /
dengyazhou-MacBook-Pro:/ dengyazhouPro$ pwd
/
dengyazhou-MacBook-Pro:/ dengyazhouPro$ 

bash 123.sh 执行shell
zsh 123.sh 执行shell
source 123.sh 执行shell
./123.sh 执行shell

3.2、shell

shell是一种特殊的交互式工具,它为用户提供了启动程序、管理文件系统中文件以及运行在系统上的进程的途径。Shell一般是指命令行工具。它允许你输入文本命令,然后解释命令,并在内核中执行。
Shell脚本,也就是用各类命令预先放入到一个文本文件中,方便一次性执行的一个脚本文件。

$source FileName
意思:在当前shell环境中读取并执行FileName中的命令
特点:
命令可以强行让一个脚本去立即影响当前的环境(一般用于加载配置文件)。
命令会强制执行脚本中的全部命令,而忽略文件的权限。

$bash FileName、$zsh FileName
意思:重新建立一个子shell,在子shell中执行脚本里面的句子。

$./FileName
意思:读取并执行文件中的命令。但有一个前提,脚本文件需要有可执行权限。

四、用户、组、权限

Unix和Linux都是多用户、多任务的系统,所以这样的系统里面就拥有了用户、组的概念。那么同样文件的权限也就有相应的所属用户和所属组了。

上一篇 下一篇

猜你喜欢

热点阅读