.:. 草榴社區 » 技術討論區 » [玩转快捷指令]-快捷指令实现调出iOS隐藏应用程序-原理解析(转载)
--> 本頁主題: [玩转快捷指令]-快捷指令实现调出iOS隐藏应用程序-原理解析(转载) 字體大小 寬屏顯示 只看樓主 最新點評 熱門評論 時間順序
禽兽爱不爱


級別:新手上路 ( 8 )
發帖:245
威望:45 點
金錢:1154813 USD
貢獻:655 點
註冊:2011-06-06


[玩转快捷指令]-快捷指令实现调出iOS隐藏应用程序-原理解析(转载)



今天看到一篇关于快捷指令的高端操作,暂时自己也不是特别明白,需要更高端的知识和理解,所以把这篇内容摘录下来,分享给大家
=================================================================================
前言
就在近期本人发布的视频“库克都想不到我居然会用快捷指令干这种事情”中,我展示了一个利用快捷指令实现开启系统隐藏应用程序的操作。
 
之所以想到使用快捷指令来打开隐藏应用,是因为一个偶然的发现:从iPhone X之后的机型中,在拨号界面输入 *3001#12345#* 不再启动原有的场测程序(FieldTest.app),而是FTMInternal-4;但在旧设备同版本的操作系统中则是启动FieldTest。
因此,我对新设备中是否存在旧场测程序表示好奇,于是尝试利用快捷指令来判断该应用程序是否存在。
 
通过拨号键盘启动FTMInternal
在这篇文章中,我会向你详细介绍快捷指令的历史,以及上述操作的实现思路。
希望能给各位iOS高玩提供一些帮助。
快捷指令的前身-Workflow工作流
Workflow采用了类似图形编程的设计方法,允许用户组合不同的操作,例如网络请求、图片修改、逻辑运算等,实现一定程度的自动化。
2015年,Workflow被评选为“App Store最佳应用”,并在2017年被Apple收购,成为如今iOS上备受欢迎的“快捷指令(Shortcuts)”应用。
2018年,随着iOS12的发布,SiriKit与WorkflowKit两个模块同时被内置在系统的私有模块(PrivateFrameworks)中,快捷指令成为了系统应用程序。
快捷指令如何工作
快捷指令将用户写入的一系列动作(Action)保存为属性表文件(*.wflow或*.shortcut),并在用户需要执行时依次读取属性表中的操作。
将用户的操作记录为工作流的优点在于,用户不需要知道如何使用编程语言就可以直接实现简单的编程操作。
例如,通过快捷指令来自动查找最近的咖啡厅以及行动路线
 
在这个快捷指令中一共使用了三个动作,分别为查找咖啡厅、用户选择其中一个咖啡厅、显示到达目标咖啡厅的路线。
保存为快捷指令后,用户往往只需要单击执行该快捷指令,就可以自动完成搜索、选择和显示路线的操作。对应的手动操作就是打开地图app-输入咖啡厅-搜索-选择某个咖啡厅-显示路线。
不难判断,如果总是依靠手动来执行需要的操作,无疑增加了时间成本。但保存为快捷指令后,相应的动作可以随时被执行。
Workflow属性表
除了通过图形界面来操作以外,对于追求编写效率或者过于繁琐的快捷指令来说,作者往往可以选择直接编辑快捷指令的源码。
如果需要编辑快捷指令的源文件,可以利用快捷指令的导出功能将属性表导出。
 
该操作将从设备已有的快捷指令中选择一个或多个快捷指令,并保存为文件
最终效果如下:
 
使用文本编辑器查看后我们可以发现,它们在格式上遵守Apple的plist规范,因此我们可以直接使用支持plist的工具来查看并编辑,由于笔者尚未在App Store找到可视图化编辑plist的工具,故直接使用文本编辑器。
 
可以看到,Workflow使用了一个叫做“WFWorkflowActions”的字典(dict)保存了一个包含动作的数组(array),所有动作在数组中依次排列,与快捷指令软件中显示的顺序保持一致。
WFWorkflowActionIdentifier:动作ID
WFWorkflowActionParameters:动作参数
在上图中,动作ID的内容是“is.workflow.actions.searchlocalbusinesses”,可以看出是用来搜索附近商户的动作。
 
动作参数中,我们找到该动作要搜索的内容对应的参数“WFSearchQuery”,可以看到这个字符串(string)的内容是“Coffee”,与我们的设置一致。
如果我们修改这里的“Coffee”为其他内容,那么在导入回快捷指令时也能看到效果。
 
如果你在使用iOS12及之前的版本,那么你可以直接将快捷指令属性表文件导入到应用程序中;如果你在使用iOS13或更高则会看到如下提示:
 
因此,你需要将文件形式的快捷指令上传到苹果并制作iCloud链接才能将快捷指令安装到本地。
 
至此,你已经了解了它的运作方式,接下来我们可以开始尝试打开隐藏应用程序了。
“打开App”动作
这个动作允许你使用快捷指令打开某个应用程序,使用之前只需要选择一个目标应用程序即可。
 
这个动作执行时将跳转到“相机”软件。
但是在设置此动作时可以发现与其他动作的差异:打开App动作的变量设置是直接从应用程序列表中选择,而其他动作可以更自由地设置变量
 
在系统的应用列表中,默认情况下只列出显示在主界面(SpringBoard)的应用程序,因此如果想要实现打开隐藏的应用程序,我们是不能够通过这个方式实现的。
部分隐藏应用拥有对应的URL Schemes(一种通过URL唤起应用程序的机制),但是通过这种方式并不能实现打开任意程序的目标,因此本文不介绍该方法。
 
之所以不使用此方法,是因为快捷指令拥有不通过URL Scheme唤起其他应用程序的能力,因此我们可以推测 ,快捷指令依靠应用程序的BundleID实现应用唤起。
Bundle ID:应用程序唯一识别符(或称签名)
为了验证这个想法,我们可以将这个快捷指令导出为文件
 
可以发现动作参数中,WFAppIdentifier表示应用程序ID,内容则是相机的签名“com.apple.camera”。
按照上面的操作流程,理论上我们如果将这个字符串的内容更改为某个隐藏应用的ID,我们就可以使用快捷指令直接唤起这个隐藏应用。
为了搞清设备中有哪些隐藏应用,我们可以前往The iPhone Wiki一探究竟。
已知系统应用的目录在/Applications,The iPhone Wiki中记录了历代iOS版本的系统应用,我们可以很轻易地查询到有关的信息
 
现在,我们获取了系统中隐藏应用的列表,下一步就是用快捷指令打开它了。
例如我们想要启动场测程序,那么就将WFAppIdentifier的内容更改为“com.apple.fieldtest”
 
随后导入修改后的快捷指令,可以看到预览中,打开App的参数是“FieldTest”
 
运行后,可以看到场测程序被正常打开。
 
至此,我们就完成了“调出隐藏应用”的操作。

总结
1. 快捷指令可以导出为文件形式,并且可被导入
2. 可以通过直接编辑源文件的方式绕过“打开App”的限制
3. 有经验者可使用plist编辑器直接编写快捷指令
快捷指令地址     https://www.icloud.com/shortcuts/ab8332bd84fe4e51855668d044e7f07e
                                                                                                                                  文章转载来源  https://www.bilibili.com/read/cv8917232
                                                                                                              作者:托莱奇 https://www.bilibili.com/read/cv8917232 出处:bilibili


往期内容   
https://cl.192x.xyz/index.php?u=191970&ext=87fae
详细的看这个视频
https://www.bilibili.com/video/bv1dV411879x
引用 4221526:玩转快捷指令-H指令
引用 4232134:[玩转快捷指令]-设置技巧
引用 4491693:[玩转快捷指令]-初次见面
引用 4492563:[玩转快捷指令]-进阶技巧
引用 4494288:[玩转快捷指令]-安全逛H网
引用 4494419:[玩转快捷指令]-深入了解快捷指令进而学习与拓展自定义
引用 4527923:[玩转快捷指令]-一键保存网页图片
引用 4497465:[玩转快捷指令]-小白点的便利运用
引用 4499460:[玩转快捷指令]-一个多功能合集指令
引用 4500169:[玩转快捷指令]-无水印解析视频下载
引用 4514099:[玩转快捷指令]-指令内容的自定义编辑
引用 4517684:[玩转快捷指令]-指令跟其他APP的互动
引用 4517786:[玩转快捷指令]-为iPhone任意一个应用加锁
引用 4518719:[玩转快捷指令]-自动化使用详解
引用 4520510:[玩转快捷指令]-自动化举一个简单的例子
引用 4526094:[玩转快捷指令]-制作一个钢铁侠贴身贾维斯闹铃快捷指令
引用 4534049:[玩转快捷指令]-钢铁侠贴身贾维斯闹铃进阶贴心管家
引用 4526937:[玩转快捷指令]-用快捷指令来显示一些图片、视频的进阶操作
引用 4543263:[玩转快捷指令]--更便捷的访问网页地址
引用 4551108:[玩转快捷指令]-iOS 14 快捷指令捷径 URL Scheme 收集列表
引用 4554302:[玩转快捷指令]-终极完美贾维斯管家指令新鲜出炉
引用 4556320:[玩转快捷指令]-制作属于自己的搜索引擎
引用 4561589:[玩转快捷指令]-自己做一个万能的翻译指令
引用 4566878:[玩转快捷指令]-快捷指令实现调出iOS隐藏应用程序-原理解析(转载)
引用 4569492:[玩转快捷指令]-终结篇 想对大家说的话
引用 6039880:[玩转快捷指令] 分享一下我新增加功能的快捷指令
引用 6109092:[玩转快捷指令]使用快捷指令运行360智脑AI

 


文章编辑繁琐实属不易    多多点赞评论助我升级
默默等待新手升级侠客    祝您心想事成万事如意


[ 此貼被禽兽爱不爱在2023-12-25 09:49重新編輯 ]

赞(0)
------------------------
X
DMCA / ABUSE REPORT | TOP Posted: 06-28 11:29 樓主 引用 | 發表評論
dengwei77


級別:禁止發言 ( 8 )
發帖:2186
威望:208 點
金錢:810 USD
貢獻:2 點
註冊:2017-03-14


太深奥了,我没看懂


點評

    TOP Posted: 06-28 11:30 #1樓 引用 | 點評
    袖起茶香


    級別:俠客 ( 9 )
    發帖:1388
    威望:139 點
    金錢:639 USD
    貢獻:0 點
    註冊:2017-02-10

    能调出自带的新闻APP吗?
    TOP Posted: 06-28 12:29 #2樓 引用 | 點評
    寂寞的阳具


    級別:天使 ( 14 )
    發帖:9879
    威望:1009 點
    金錢:2111456747 USD
    貢獻:5817685 點
    註冊:2011-10-11

    感谢分享
    TOP Posted: 06-28 13:01 #3樓 引用 | 點評
    火之歌


    級別:禁止發言 ( 8 )
    發帖:13600
    威望:1356 點
    金錢:2758 USD
    貢獻:1 點
    註冊:2019-05-23

    很有意思
    TOP Posted: 06-28 14:08 #4樓 引用 | 點評
    火之歌


    級別:禁止發言 ( 8 )
    發帖:13600
    威望:1356 點
    金錢:2758 USD
    貢獻:1 點
    註冊:2019-05-23

    感谢作者的分享
    TOP Posted: 06-28 14:44 #5樓 引用 | 點評
    禽兽爱不爱 [樓主]


    級別:新手上路 ( 8 )
    發帖:245
    威望:45 點
    金錢:1154813 USD
    貢獻:655 點
    註冊:2011-06-06

    我也没看懂,这里面涉及的内容有点深奥了。所以留着等以后理解理解吧。
    ------------------------
    X
    TOP Posted: 06-28 17:54 #6樓 引用 | 點評
    溪谷留香


    級別:俠客 ( 9 )
    發帖:1278
    威望:128 點
    金錢:1295 USD
    貢獻:0 點
    註冊:2021-01-14

    1024
    TOP Posted: 06-28 18:21 #7樓 引用 | 點評
    震动棒


    級別:騎士 ( 10 )
    發帖:3992
    威望:400 點
    金錢:186 USD
    貢獻:0 點
    註冊:2020-02-08

    支持分享
    TOP Posted: 06-28 19:18 #8樓 引用 | 點評
    俺不色


    級別:騎士 ( 10 )
    發帖:4130
    威望:414 點
    金錢:416 USD
    貢獻:0 點
    註冊:2020-08-30

    谢谢分享
    TOP Posted: 06-28 20:10 #9樓 引用 | 點評
    小圆腚


    級別:俠客 ( 9 )
    發帖:990
    威望:100 點
    金錢:4 USD
    貢獻:0 點
    註冊:2021-02-20

    1024
    TOP Posted: 06-28 20:13 #10樓 引用 | 點評
    火之歌


    級別:禁止發言 ( 8 )
    發帖:13600
    威望:1356 點
    金錢:2758 USD
    貢獻:1 點
    註冊:2019-05-23


    谢谢坛友分享
    TOP Posted: 06-28 20:25 #11樓 引用 | 點評
    白狐儿脸


    級別:聖騎士 ( 11 )
    發帖:3800
    威望:701 點
    金錢:3666 USD
    貢獻:52 點
    註冊:2016-08-29

    技术分享支持一下
    TOP Posted: 06-28 20:51 #12樓 引用 | 點評
    你那么骚啊


    級別:禁止發言 ( 8 )
    發帖:3908
    威望:508 點
    金錢:2033 USD
    貢獻:1626 點
    註冊:2020-04-04

    感谢分享
    TOP Posted: 06-28 20:59 #13樓 引用 | 點評
    逼亮为娼


    級別:風雲使者 ( 13 )
    發帖:3967
    威望:397 點
    金錢:2147083378 USD
    貢獻:246208 點
    註冊:2011-06-06

    这个超钢了
    ------------------------
    s
    TOP Posted: 06-28 22:05 #14樓 引用 | 點評
    新空气


    級別:俠客 ( 9 )
    發帖:2645
    威望:230 點
    金錢:600 USD
    貢獻:0 點
    註冊:2018-05-26

    感谢分享
    TOP Posted: 06-29 00:04 #15樓 引用 | 點評
    Meiam


    級別:聖騎士 ( 11 )
    發帖:7048
    威望:705 點
    金錢:14750 USD
    貢獻:0 點
    註冊:2016-03-08

    感谢你的分享
    TOP Posted: 06-29 04:36 #16樓 引用 | 點評
    angelmeng


    級別:聖騎士 ( 11 )
    發帖:7381
    威望:739 點
    金錢:22533 USD
    貢獻:0 點
    註冊:2019-06-27


    感谢分享
    TOP Posted: 06-29 05:01 #17樓 引用 | 點評
    Shiyueruchu


    級別:禁止發言 ( 8 )
    發帖:4556
    威望:462 點
    金錢:6144 USD
    貢獻:58771 點
    註冊:2021-06-02

    很有意思
    TOP Posted: 06-29 08:29 #18樓 引用 | 點評
    大王带你飞


    級別:精靈王 ( 12 )
    發帖:5487
    威望:2593 點
    金錢:10971015 USD
    貢獻:12720 點
    註冊:2021-05-22

    感谢分享
    TOP Posted: 06-29 08:30 #19樓 引用 | 點評
    XXoxx


    級別:精靈王 ( 12 )
    發帖:4998
    威望:492 點
    金錢:15014642 USD
    貢獻:112610 點
    註冊:2009-11-26

    针新技术咖


    點評

      TOP Posted: 06-29 08:51 #20樓 引用 | 點評
      火之歌


      級別:禁止發言 ( 8 )
      發帖:13600
      威望:1356 點
      金錢:2758 USD
      貢獻:1 點
      註冊:2019-05-23

      谢谢分享
      TOP Posted: 06-29 09:10 #21樓 引用 | 點評
      托尔斯小火车


      級別:精靈王 ( 12 )
      發帖:7216
      威望:925 點
      金錢:35268 USD
      貢獻:10059 點
      註冊:2020-11-15

      这篇其实没看懂,但是快捷指令系列帖子很实用。
      TOP Posted: 06-29 09:25 #22樓 引用 | 點評
      可爱的小西瓜


      級別:新手上路 ( 8 )
      發帖:210
      威望:22 點
      金錢:175 USD
      貢獻:0 點
      註冊:2017-08-06


      感谢分享
      TOP Posted: 06-29 10:11 #23樓 引用 | 點評
      寻路NO1


      級別:聖騎士 ( 11 )
      發帖:7829
      威望:783 點
      金錢:6880 USD
      貢獻:0 點
      註冊:2020-10-24

      涨知识了
      TOP Posted: 06-29 11:09 #24樓 引用 | 點評

      .:. 草榴社區 -> 技術討論區

      快速回帖 頂端
      內容
      HTML 代碼不可用

      使用簽名
      Wind Code自動轉換

      按 Ctrl+Enter 直接提交