应用重签名-手动
2020-04-11 本文已影响0人
lmfei
描述文件
查看路径:/Users/用户名/Library/MobileDevice/Provisioning Profiles
随意找到一个描述文件,然后使用
security cms -Di c032844c-d34b-40ad-8758-a0ff9d3935c2.mobileprovision
查看描述文件信息
其中entitlements是权利配置信息
<key>Entitlements</key>
<dict>
<key>application-identifier</key>
<string>XYQY6K4FX3.com.lmf.MyApp</string>
<key>keychain-access-groups</key>
<array>
<string>XYQY6K4FX3.*</string>
</array>
<key>get-task-allow</key>
<true/>
<key>com.apple.developer.team-identifier</key>
<string>XYQY6K4FX3</string>
</dict>
- 开始进行重签名
- 准备砸壳后的包,解压包,并找在Payload中找到.app文件,查看应用签名
codesign -vv -d DingTalk.app
liumingfei$ codesign -vv -d DingTalk.app
Executable=/Users/liumingfei/Desktop/Prison/砸壳应用/Payload/DingTalk.app/DingTalk
Identifier=com.laiwang.DingTalk
Format=app bundle with Mach-O thin (arm64)
CodeDirectory v=20500 size=1973728 flags=0x0(none) hashes=30834+7 location=embedded
Signature size=4390
Authority=Apple iPhone OS Application Signing
Authority=Apple iPhone Certification Authority
Authority=Apple Root CA
Info.plist entries=63
TeamIdentifier=5ZSL2CJU2T
Sealed Resources version=2 rules=24 files=1185
Internal requirements count=1 size=100
其中Authority就是应用签名
查看可执行文件
otool -l DingTalk | grep cryptid
liumingfei$ otool -l DingTalk | grep cryptid
cryptid 0
cryptid为0即为砸完壳的包,1就是加密的
- 查看证书
security find-identity -v -p codesigning
选择其中一条
21A80F7458BC94A89A297FA36DD7C5A8CC789922 "iPhone Developer: 1093941077@qq.com (5LU9Z373CG)"
- 删插件
删除PlugIns、Watch两个文件夹,插件普通帐号是无法签名的 - 重签FrameWork
进入FrameWorks文件夹
codesign -fs "iPhone Developer: 1093941077@qq.com (5LU9Z373CG)" xxx.framework
使用上面指令进行重签名
- 为MachO添加执行权限
chmod +x DingTalk
- 添加描述文件
- 新建一个工程,并运行到iPhone上
- 安装成功后,去.app中拿到embedded.mobileprovision文件拷贝到需要重签名的包中
- 修改Bundle ID
将需要重签的包中的Info.plist文件中的Bundle identifier,改为刚刚运行工程的 - 通过授权文件重签.app包
查看embedded.mobileprovision信息,取出Entitlements内容,然后新建一个plist文件,将内容粘贴到进去
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>XYQY6K4FX3.com.lmf.MyApp</string>
<key>keychain-access-groups</key>
<array>
<string>XYQY6K4FX3.*</string>
</array>
<key>get-task-allow</key>
<true/>
<key>com.apple.developer.team-identifier</key>
<string>XYQY6K4FX3</string>
</dict>
</plist>
保存后,将这个plist文件放到待重签.app的同级目录下
执行重签命令:
codesign -fs "iPhone Developer: 1093941077@qq.com (5LU9Z373CG)" --no-strict --entitlements=cL.plist DingTalk.app
Device
选+
+
选择重签后的包
Replace
大功告成,手机中的第二个钉钉就出现了
调试App
Attach to ProcessRuning
View
至此,真正的大功告成!!!
生活如此美好,今天就点到为止。。。