【技术实现步骤摘要】
基于Linux系统的应用层Hook实现方法、系统、装置及存储介质
[0001]本专利技术涉及计算机
,更具体的说是涉及一种基于Linux系统的应用层Hook实现方法、系统、装置及存储介质。
技术介绍
[0002]Hook技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把系统的程序拉出来变成我们自己执行代码片段。可见,hook可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并进行处理。
[0003]当前,对于Hook技术,可以分为两块,第一块是在Ring3层的Hook,俗称应用层Hook技术,另外一块自然是在Ring0层得Hook,俗称为内核层Hook技术。针对Hook的实现方法主要存在以下缺陷:
[0004]1、当前内核层Hook的实现,需要开发人员具备内核开发的经验,开发难度较高,而且一旦出现问题会导致系统崩溃。
[0005]2、当前应用层Hook的实现, ...
【技术保护点】
【技术特征摘要】
1.一种基于Linux系统的应用层Hook实现方法,其特征在于,包括如下步骤:S1:编译动态链接库,通过动态链接库导出预设接口;S2:修改优先加载的环境变量和默认配置文件,增加动态链接库的绝对路径,使预设程度启动后实时加载动态链接库;S3:当目标进程调用被Hook的API时,优先调用动态链接库的接口;S4:在动态链接库的接口中获取并保存系统API的原始地址;S5:动态链接库的接口通过与预设控制中心交互,进行策略判断业务操作;S6:策略判断业务操作完成后,调用系统API的原始地址,并将调用结果返回给目标进程。2.根据权利要求1所述的基于Linux系统的应用层Hook实现方法,其特征在于,所述步骤S4具体为:通过dlvsym接口,获取指定版本号的API原始地址。3.根据权利要求1所述的基于Linux系统的应用层Hook实现方法,其特征在于,所述预设接口为与被Hook的API定义完全一致的接口。4.根据权利要求1所述的基于Linux系统的应用层Hook实现方法,其特征在于,所述动态链接库为libhook.so。5.根据权利要求1所述的基于Linux系统的应用层Hook实现方法,其特征在于,所述优先加载的环境变量和默认配置文件为/etc/ld.so.preload文件。6.根据权利要求2所述的基于Linux系统的应用层Hook实现方法,其特...
【专利技术属性】
技术研发人员:苗功勋,袁浩,崔新安,李本学,
申请(专利权)人:中孚安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。