签名
- CSR证书
- 申请者信息
- 申请者公钥(公钥M)
- 摘要算法(公钥加密算法RSA)
- cer证书
- 申请者信息、公钥:两者经过哈希算法生成“信息摘要”
- 数字签名:信息摘要经过苹果私钥加密生成
公钥可信验证:本地一会生成信息摘要与数字签名解密的签名进行对比
- entitlements
查看授权列表
codesign -d --entitlements - InHouse.app
- 描述文件
- APPID
- 使用的证书
- 功能授权列表
- 可安装的授权列表(开发环境)
- 苹果的签名
- 手动签名
如果有Plugins,需要对Plugins进行签名,首先需要砸壳解密
security find-identity -v -p codesigning // 寻找可签名证书
codesign -fs "Apple Development: xxx (xxx)" plugins
security cms -D -i embedded.mobileprovision // 查看描述文件信息
copy embedded.mobileprovision // 复制描述文件到包内
codesign -fs "Apple Development: xxx (xxx)" --entitlments=xxx Payload/InHouse.app
动态库
简单生成动态库
可执行文件注入动态库,注入到LC_LOAD_DYLIB
otool -L // 查看动态库
insert_dylib 工具注入