当我们从AppStore上下载App后,如果做了相应的更改,又怎么会在手机上运行起来呢?这就需要应用重签名,并且Xcode给我们提供了重签名技术-codesign技术 。
拓展:我们首先来讲解一下怎么获取应用的ipa包?
- 助手里面下载
- 越狱手机里面进行拷贝
- iTunes下载(12.6.3)
文章插图
通过微信-6.7.3(越狱应用)显示包内容,看出对应的子目录,查看playload文件夹,发现WeChat.app
2然后通过终端命令,otool -l WeChat | grep crypt 查看筛选后的cryp,得到如下:
文章插图
通过上面的发现cryptid = 0 代表是该App不是加密的,非0时代表是加密的 。假如cryptid=1 代表是用1这种方式加密,不代表用1加密 。
上面显示为什么有两个cryptid = 0 ,下面的输入命令解释了为何有两个:通过命令file WeChat
查看有Mach-O中有两种架构,Mach-O executable arm_v7和Mach-O 64bit executable arm64两个,arm_v7代表5s之前的手机,arm64代表的是5s手机之后
3 对越狱微信开始重签名,因为cryptid = 0
3.1 删除多余的越狱微信包内容
3.2 对Framework进行重签名:codesign -fs “自己的开发证书” framework
文章插图
下面是通过终端命令的截图,完成对截图内的Framework进行重签名 。
文章插图
3.3 下面要对App包整个重签,也就需要对描述文件进行重签 。首先将描述性文件放入到越狱微信包下(描述性文件必须要与boundId一致,infoPlist文件查看)
文章插图
开始要权限plist文件,将entitlements.plist放到了weChat.app同等级目录中
文章插图
我们看WeChat.app中,该删的已经删掉,framework重签,以及描述性文件加进去,下面用entitlements.plist对整个App包签名 。
文章插图
通过命令codesign -fs “自己证书” --no-strict --entitlements=entitlements.plist WeChat.app,对包签名
紧接着通过查看codesign -d -vv WeChat.app命令查看重签名成功没,上面的截图中,发现证书已经变为了自己的,说明重签名成功 。
结合着xcode与描述性文件,就可以在手机上运行 。
上面重签名的步骤,可能并不是很清晰,又准备了一个总结如下:
文章插图
三、拓展
3.1 Shell脚本
Shell脚本为用户提供了启动程序,管理系统的文件以及运行在系统上进程的途径 。Shell在开发中一般指命令行工具,它允许输入文本的命令,然后解释命令,最后在内核中执行 。Shell脚本,也是用各类命令预先放入到文件中,方便一次性执行的脚本文件 。
下面我们用demo方式讲解shell命令:
首先通过命令创建文件夹,并在文件夹下创建“国孩”文本
文章插图
查看桌面内容如下:
文章插图
如果想这些命令一次性的执行,可以尝试写一个脚本文件
文章插图
然后进入到编辑页面,将内容输入进去
文章插图
最后生成文件如下,也能完成目的
文章插图
看到上面之后,使用到了bash,除了bash,还有zsh,Source等命令效果都是一样的,怎么查看mac支持哪些呢?
通过cd /private/etc,以及cat shells,
文章插图
通过上面的都可以满足建立123.txt 。
但是上面的各个指令也有一定的区别,如下:
推荐阅读
- 使用插件让谷歌浏览器实现访问谷歌邮箱,应用商店,同步数据
- 级联 多台路由器如何串联?
- 高阻隔材料在茶叶包装中的应用
- 如鱼得水!超快激光在锂电和太阳能电池领域的应用
- 阿里P7架构师面试:大型网站应用之海量数据、高并发解决方案
- 医用硼砂有毒吗,能食用吗
- 翡翠|翡翠的应用越来越广泛,同时价值也在上升,所以要知道怎么鉴定
- 生物农药在茶叶上的应用
- Redis 在新浪微博中的应用
- 防火墙的应用及特点