mac下自定义伪协议配置
之前查了很多资料,最近也在挖掘研究这方面的漏洞.
windows的很简单,在注册表配置就好了,但是mac os 是unix的,没有注册表这么一说。
但是发现腾讯等配置了自定义等协议,例如:tencent://xxxxx,
那么他们是怎么配置的,查了写资料,比较少。分享一下:
mac应用程序安装的时候在安装软件有一个info.plist,可以在配置文件中配置CFBundleURLName.
1. Use Script Editor to save this script as an Application Bundle (no startup screen):
on open location localURL
set oldDelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to "local://"
set thePath to item 2 of the text items of localURL
set AppleScript's text item delimiters to oldDelims
tell application "System Events"
open ((POSIX file thePath) as string)
end tell
end open location
2.Use the method described here and here to set CFBundleSignature to LOCL and add
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Local File</string>
<key>CFBundleURLSchemes</key>
<array>
<string>local</string>
</array>
</dict>
</array>
<key>NSUIElement</key>
<true/>
to the application bundle's Info.plist file, then change the PkgInfo file to contain APPLLOCL
3.Use the More Internet preference pane to add 'local' as a new protocol and choose the new application as the handler.
4.Make hyperlinks in the form local:///path/to/your/local/folder. Clicking those links should then open that file or folder.
更详细的可以到苹果开发文档参考:
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
以我的电脑为例:

例如在链接中<a href="ssh://xxx">click me</a>那么就会唤iTerm程序来执行ssh
关于伪协议,其中有很多好玩的东西,大家可以自己挖掘。
参考:
http://hublog.hubmed.org/archives/001154.html
https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
https://code.i-harness.com/zh-CN/q/7321d
mac下自定义伪协议配置的更多相关文章
- Mac下Maven安装与配置
Mac下Maven安装与配置 下载maven http://maven.apache.org/download.cgi main->download菜单下的Files 下载后解压在Documen ...
- 【工匠大道】Mac下Java开发环境配置简述
本文地址 原文地址 分享提纲: 1. 下载JDK1.7 2. 配置java_home 3 .安装tomcat 4 .安装eclipse或者myeclipse 5. mysql安装 破解版下载请参考M ...
- Mac下golang开发环境配置
go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...
- mac下mysql数据库的配置
这里记录一下. 之前在mac下使用brew install mysql安装,但是安装完成后发现密码不好修改,上网搜了下发现mac下使用命令行安装mysql确实存在很多问题,这一点确实远不如Ubuntu ...
- Mac下安装Tomcat及配置
今天介绍Mac下Tomcat的安装及配置: 1.在搜索引擎(如:必应或百度)中搜索“Tomcat”,第一条搜索结果就是Tomcat官方地址: 2.在左侧选择“Tomcat8”或“Tomcat9”,我这 ...
- Mac下Git安装及配置
Mac下: 1.下载git版本并安装 运行终端 查看git版本: bogon:~ yan$ git --version git version 2.16.3 配置gitconfig文件 vim ~/. ...
- mac下java环境变量配置
发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_profile,它有自己的配置 ...
- 第一章 mac下开发环境的配置
mac系统与Linux系统差不多,但是与windows系统版本非常不同. 1.jdk 安装与卸载:https://docs.oracle.com/javase/8/docs/technotes/gui ...
- Mac下在zsh中配置adb命令
Mac下自带的终端默认黑白色的,对于一个技术宅来说不能忍啊.然后换成了iTerm,安装上了zsh,安装后界面如下: 这里写图片描述 但是常用的adb命令却找不到了,还向github上提了issue,下 ...
随机推荐
- ARM体系结构总结
特殊功能寄存器与外设绑定,通用寄存器是与CPU绑定. ARM是RISC架构 常用ARM汇编指令只有二三十条 ARM是低功耗CPU ARM的架构非常适合单片机.嵌入式.尤其是物联网领域:而服务器等高性能 ...
- 剑指offer--30.二叉搜索树的后序遍历序列
正常情况下,因为二叉搜索树,左子树所有结点比根小,右子树所有结点比根大,所以循环一遍就能结束 ----------------------------------------------------- ...
- PostgreSQL.conf文件配置详解[转]
一.连接配置与安全认证 1.连接Connection Settings listen_addresses (string) 这个参数只有在启动数据库时,才能被设置.它指定数据库用来监听客户端连接的 ...
- poscms仿站知识点总结(二)
1.相同类型div添加不同class 遇到一个样式上的问题,模板页面有8个子项,样式都是一样,至于数据是可以用for循环来添加的,但是for循环的时候,每个div的 类名是无法及时更改的,但是模板页面 ...
- Android系统自带分享功能的实现(可同时分享文字和图片)
/** * 分享功能 * * @param context * 上下文 * @param activityTitle * Activity的名字 * @param msgTitle * 消息标题 ...
- Happening in delphi world
Happy New Year! Delphi XE5 Update 2 Recent VCL enhancements New product features for old product use ...
- Keras GRU 文字识别
GRU(Gated Recurrent Unit)是LSTM的一个变体,也能克服RNN无法很好处理远距离依赖的问题. GRU的结构跟LSTM类似,不过增加了让三个门层也接收细胞状态的输入,是常用的LS ...
- linux ls-al 指令详解
ls -al 具体说明请自行找男人(man 中了鸟哥的毒 =.=).
- linux【基础命令】
最近在学linux,避免一些命令忘记,所以在此记录一下: linux文件列表遍历 ls -a 列出所有的文件及文件夹 包括隐藏的ls -l 列出文件目录的详细信息 history 查看历史命令ctrl ...
- 使用js构造"ddMMMyy"格式的日期供postman使用(最low的方式)
var date = new Date(); date.setDate(date.getDate() + 10); var year = date.getFullYear().toString().s ...