基于MacOS系统的dylib加载方法技术方案

技术编号:32106256 阅读:14 留言:0更新日期:2022-01-29 18:48
本发明专利技术提供的基于MacOS系统的dylib加载方法,属于MacOS系统程序设计技术领域,包括以下步骤:S1创建一个监控进程,监控进程用于监控系统中文件类型与默认进程的映射关系;S2创建一个跳转app,跳转app用于在运行时获取打开文件的默认打开程序,并设置默认打开程序的环境变量;S3将打开文件的默认打开程序设置为跳转app;S4将跳转app复制到应用程序目录下。本发明专利技术通过监控进程和跳转app,实现将dylib注入目标应用,方便快捷,提高了处理效率,优化用户使用体验。使用体验。使用体验。

【技术实现步骤摘要】
基于MacOS系统的dylib加载方法


[0001]本专利技术涉及MacOS系统程序设计
,尤其涉及一种基于MacOS系统的dylib加载方法。

技术介绍

[0002]在MacOS系统下,在执行安全补丁、系统管理、透明加密等操作时,需要将自己编写的dylib加载到其他的应用中去。但是MacOS缺乏windows的一些HOOK机制,比如通过SetWindowsHookEx等方法,将dll注入到其他进程的方法。且在SIP(SystemIntegrityProtection)的保护下,也不能全局使用DYLD_INSERT_LIBRARIES的环境变量。可用的方法为,在控制台Terminate中,以命令行的方式运行应用,比如:
[0003]DYLD_INSERT_LIBRARIES=/Users/Shared/libMacore.dylibDYLD_FORCE_FLAT_NAMESPACE=1"/Applications/Microsoftword.app/Contents/MacOS/Microsoftword"。
[0004]而在实际生产生活中,通常大家都是直接双击文件调用应用打开。通过控制台的方式,显然不能被普通用户接受。

技术实现思路

[0005]本专利技术的技术问题是提供一种基于MacOS系统的dylib加载方法,能够在不支持双击文件调用应用的情况下,无需使用控制台,即可将dylib注入到其他应用中。
[0006]为实现上述目的,本专利技术采取的技术方案为:
[0007]基于MacOS系统的dylib加载方法,该方法包括以下步骤:S1创建一个监控进程,监控进程用于监控系统中文件类型与默认打开程序的映射关系;S2创建一个跳转app,跳转app用于在运行时获取打开文件的默认打开程序,并设置默认打开程序的环境变量;S3将打开文件的默认打开程序设置为跳转app;S4将跳转app复制到应用程序目录下,通过监控进程和跳转app,将dylib注入目标应用,方便快捷,提高了处理效率,且用户无需改变调用应用的习惯,优化用户使用体验。
[0008]进一步地,S1为:循环枚举各种不同的文件类型及其对应的appurl,并以表格的形式存入数据库中。
[0009]进一步地,S2中跳转app通过打开文件的扩展名,检索数据库,查找对应appurl字段,获取文件的默认打开程序。
[0010]进一步地,S2中设置默认打开程序的环境变量的方法为:创建一个字典;创建一个可变字典;添加dylib元素到DYLD_INSERT_LIBRARIES;设置上述环境变量;执行上述操作并结束。
附图说明
[0011]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未刻意按照比
例绘制附图,重点在于示出本专利技术的主旨。
[0012]图1是本专利技术提供的基于MacOS系统的dylib加载方法的流程图;
[0013]图2是本专利技术提供的监控进程生成的文件类型与默认打开程序的映射关系示意图。
具体实施方式
[0014]下面结合附图和具体的实施例对本专利技术作进一步的说明,但是不作为本专利技术的限定。
[0015]本专利技术基于MacOS系统的dylib加载方法,在具体实施时,如图1所示,首先创建一个监控进程,该监控进程循环枚举各种不同的文件类型及其对应的默认打开程序,并以图2中表格的形式将各文件类型与其对应的appurl存入sqlite数据库中。接着创建一个跳转app,跳转app在运行时,通过打开文件的扩展名,检索sqlite数据库,在sqlite数据库中查找打开文件扩展名对应的appurl字段,获取到打开文件的默认打开程序,并设置默认打开程序的环境变量,具体设置环境变量的方法为:创建一个字典;创建一个可变字典;添加dylib元素到DYLD_INSERT_LIBRARIES;设置上述环境变量;执行上述操作并结束。
[0016]完成环境变量设置后,将打开文件文档格式的默认打开程序设置为所述跳转app,最后将跳转app复制到应用程序目录下,通过上述方法,在无法双击文件调用app的话,那么可以通过运行跳转app来完成目标app的打开和dylib的注入。
[0017]以上对本专利技术的较佳实施例进行了描述;需要理解的是,本专利技术并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本专利技术技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本专利技术的实质内容;因此,凡是未脱离本专利技术技术方案的内容,依据本专利技术的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本专利技术技术方案保护的范围内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于MacOS系统的dylib加载方法,其特征在于,该方法包括以下步骤:S1创建一个监控进程,所述监控进程用于监控系统中文件类型与默认打开程序的映射关系;S2创建一个跳转app,所述跳转app用于在运行时获取打开文件的默认打开程序,并设置默认打开程序的环境变量;S3将打开文件的默认打开程序设置为所述跳转app;S4将跳转app复制到应用程序目录下。2.如权利要求1所述的基于MacOS系统的dylib加载方法,其特征在于,所述S1为:循环枚举各种不同的文件类型及其对应的appu...

【专利技术属性】
技术研发人员:邱文乔
申请(专利权)人:无锡安腾软件开发有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1