codesign(腾讯codesign)
腾讯codesign怎么设置查看权限
游戏主页右上角的设置。
2.
到了基础设置拉到最下面有个隐私设置,点击战绩显示为“关”。
3.
然后用别人的账号看一下自己的历史战绩,就会显示“该位召唤师设置了查阅权限哦~”。
4.
除了历史战绩,鬼族、亲密关系等都可以隐藏的,不过这个对玩家影响不大,一般大家隐藏的都是历史战绩,尤其是新手。
mac 怎么修改codesign
打开开始菜单,选择控制面板;
打开控制面板项,选择网络和共享中心;
选择更改适配器设置;
选择本地要修改MAC地址的网卡;
右键该网卡,选择属性;
从弹出的属性设置框中选择配置;
进行配置设置框,选择高级选项卡
选择网络地址项,从右边的值框中输入新的MAC地址;
输入完成,点击确定;
修改完成,此时本机的MAC地址就已经改为新的MAC地址了。
iOS包重签名技术知识
利用Xcode的命令 security 和 codesign 重签ipa文件。重签名与Xcode里用build打包时进行的签名操作是一个原理,具体来说,先了解一下iOS相关的证书类型。
证书类型:
证书作用:
注:
如果是团队开发,一般会生成p12证书提供给组员使用,这样更加好管理证书。
注:
关于证书类型说明:
添加设备UDID到证书:
iPhone手机轻松获取UDID的六种方式 -
1.添加p12证书
2.解压ipa包
3.修改内容
修改Payload/yourName.app中的icon图标、Info.plist文件的信息等,如有需要也可以更改比如版本号,应用名称等。
4.删除之前的签名 _CodeSignature
5.用包里的描述文件生成 entitlements.plist 文件
查看描述文件内容的命令:
上面命令会输出内容:
可以用管道命令 保存成 plist 文件:
如果只保留 Entitlements 属性内容,则可以使用 PlistBuddy 命令,我们重签只需要 Entitlements 属性:
注:本步骤的 Entitlements 属性内容非常重要,不能多字段,或者字段设置true或false错误,都会导致异常情况,否则重签是有效,但导致ipa包安装失败~
6.替换描述文件
把新的描述文件复制替换到解压后的目录中,这个需要看自己需要,旧包的描述权限与新证书的权限,是需要那些,上一步骤中 Entitlements 就是在重签时还可以在指定。
如果需要查看系统中已经保存的描述文件: ~/Library/MobileDevice/Provisioning\ Profiles/
7.给 MachO 文件添加执行权限
解压ipa文件时,app里面的 MachO 文件可能没有执行权限,导致重签的包安装时提示失败。
注,如果Python脚本有对应的库可以查看 MachO,如果是 Shell 脚本,可以利用 Info.plist 文件中已经有 MachO 对应的文件名,可以通过下面命令读取:
当然,一般路径下app的名字与 MachO 一样 Payload/yourAppName.app/yourAppName 。具体方式大家自行选择~
8.获取证书内容
这一步需要读取钥匙串中的开发者证书,可以用以下命令查看下有哪些证书:
上面命令输出:
注意,下面的重签命令,需要使用上面的 "iPhone Developer: ihtcboy@htc.com (8RRC787ZH2)" 参数
9.重新签名
先重签名framework和dylib(不重签的话,就删除无法签名的插件文件: Framework 、 PlugIns 文件夹、 Watch 文件夹)
再签名.app:
注意:签名app需要添加参数 --entitlements entitlements.plist
重签成功后提示:
10.压缩Payload 生成最终 .ipa 文件
用 zip 文件压缩生成最终的重签后的ipa文件
11.验证签名有效性(可选)
macOS 10.11 后, codesign 命令增加了验证签名正确性,当然验证签名信息在真机上进行安装可安装就说明可以用。
验证签名正确性:
查看app的签名信息:
12.删除安装的p12证书(可选)
如果是公共设备环境,可能执行删除命令,删除步骤1中导入的证书。
13.其它可能使用到的命令(可选)
检查一下是否安装了AppleWWDRCA.cer:
查看 app 的 entitlements:
关于 iOS 重签名流程就这样简单和清晰的列出来了,但是有非常多的知识点可以深入,需要大家自行实践,还有很多坑点,这里只是简单提一下,深入的命令使用和证书知识、证书安全、命令的注意事项等,需要大家实践见真知!
9、应用重签名原理
在重签名之前,我们首先要了解一个工具: codesign 。
首先我们需要砸壳的 ipa 包,如何获取砸壳包我们稍后会讲。
1、删除插件和带有插件的 .app 包(比如watch)
2、对Frameworks里面的库进行重签名
3、给可执行文件 +x ,也就是添加可执行权限
4、添加描述文件(新建工程,真机编译得到,而且要运行,将描述文件安装到手机)
5、替换 BundleID (在 info.plist 文件中, BundleID 要与描述文件中的 ID 保持一致)
6、通过授权文件( Entilements )重签 .app包 :
① . 查看描述文件 $security cms -D -i embedded.mobileprovision
② . 将描述文件中的 Entilements 拷贝出来,生成 plist 文件。(文件名称为: entitlements.plist )
③ . 用权限文件签名 .app 包 : $ codesign -fs "Apple Development: XX(XX)" --no-strict --entitlements=entitlements.plist xxx.app
7、最后通过Xcode安装
选择其中一个对库文件进行重签名。
我们再完成了APP的安装之后,下一步就是调试。这里我们当然还是利用Xcode进行调试。在 Debug --- Attach to Process 中找到我们刚刚安装的APP,这样就可以进行调试了。(?????? 警告:如果你使用的类似于微信这样的APP,在调试的过程中要注意了,账号很可能会被锁,不要冒险使用自己的账号。)
shell 脚本如下(一定要仔细阅读脚本,所有的注释都在里面):