一、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
-
.bash_profile
bash的初始化文件 在(~
)目录下 -
.zshrc
zsh的初始化文件 在(~
)目录下 -
ls
查看文件 -
ls -a
查看所有文件(包含隐藏文件) -
ls -l
查看所有文件(不包含隐藏文件)(文件详情) -
pwd
输出当前文件夹或文件的路径 -
~
和/
的区别,看下面代码
dengyazhou-MacBook-Pro:~ dengyazhouPro$ pwd
/Users/dengyazhouPro
dengyazhou-MacBook-Pro:~ dengyazhouPro$ cd /
dengyazhou-MacBook-Pro:/ dengyazhouPro$ pwd
/
dengyazhou-MacBook-Pro:/ dengyazhouPro$
-
mkdir 文件夹名
建文件夹 -
touch 123.txt
建文件 -
cd ..
返回文件上一级 -
cat 文件名
查看文件 -
rm -rf 文件夹名
或rm -r 文件夹名
删除文件夹,包含里面的内容 -
rm 文件名
删除文件 -
unzip 文件名
解压文件
- 终端操作文本
- 1、vim 123.txt 或者 vi 123.txt
- 2、i
- 3、esc
- 4、:
- 5、wq和x的操作一样
- 创建一个shell脚本
bash 123.sh
执行shell
zsh 123.sh
执行shell
source 123.sh
执行shell
./123.sh
执行shell
-
cat /private/etc/shells
查看shell,在(/
)目录下
-
otool -f MachO文件
:查看MachO胖二进制文件头信息
3.2、shell
shell是一种特殊的交互式工具,它为用户提供了启动程序、管理文件系统中文件以及运行在系统上的进程的途径。Shell一般是指命令行工具。它允许你输入文本命令,然后解释命令,并在内核中执行。
Shell脚本,也就是用各类命令预先放入到一个文本文件中,方便一次性执行的一个脚本文件。
$source FileName
意思:在当前shell环境中读取并执行FileName中的命令
特点:
命令可以强行让一个脚本去立即影响当前的环境(一般用于加载配置文件)。
命令会强制执行脚本中的全部命令,而忽略文件的权限。
$bash FileName、$zsh FileName
意思:重新建立一个子shell,在子shell中执行脚本里面的句子。
$./FileName
意思:读取并执行文件中的命令。但有一个前提,脚本文件需要有可执行权限。
四、用户、组、权限
Unix和Linux都是多用户、多任务的系统,所以这样的系统里面就拥有了用户、组的概念。那么同样文件的权限也就有相应的所属用户和所属组了。
- 目录结构
- Mac文件属性
- 文件类型与权限(permission)
- 改变权限:chmod
-
chmod +x 文件名
默认给a加 ,等同于chmod a+x 文件名
-
chmod 561 文件名
,分别给u设置为r-w、g设置为rw-、o设置为--x。注意数字类型改变的时候,里面没有u、g、o、a、+、-、=、r、w、x这些。
-
网友评论