基于HOOK函数的音频提取方法、装置及其相关介质制造方法及图纸

技术编号:38737445 阅读:21 留言:0更新日期:2023-09-08 23:23
本发明专利技术公开了基于HOOK函数的音频提取方法、装置及其相关介质,该方法包括利用检索函数导出目标应用程序的音频编程接口地址;编写第一HOOK函数并利用其接口地址替换所述音频编程接口地址;调用所述第一HOOK函数的接口地址以获取所述目标应用程序的音频播放对象;利用所述音频播放对象获取所述目标应用程序的音频缓存区接口地址;编写第二HOOK函数并利用其接口地址替换所述音频缓存区接口地址;调用所述第二HOOK函数的接口地址以提取所述目标应用程序的音频二进制数据。本发明专利技术通过分别调用第一HOOK函数和第二HOOK函数,最终提取到目标应用程序的源音频,如此,能够提取指定的应用程序音频,并且提取到的应用程序音频为源音频,提高了保存音频的质量。提高了保存音频的质量。提高了保存音频的质量。

【技术实现步骤摘要】
基于HOOK函数的音频提取方法、装置及其相关介质


[0001]本专利技术涉及音频提取
,特别涉及基于HOOK函数的音频提取方法、装置及其相关介质。

技术介绍

[0002]虚拟声卡技术是指虚拟声卡软件在计算机中为每一个虚拟声卡开辟一段内存,每个应用程序可以通过虚拟声卡的音频输出端将音频流存储到开辟的内存中,同时可以通过虚拟声卡的输入端读取内存中的音频流。但是,虚拟声卡技术因为是先把系统中所有的音频流存储到内存中再对其进行操作,这样就会导致两个问题,第一是录制功能会把计算机上所以播放音频的应用程序声音录制下来,导致出现杂乱音频;第二是无法获取应用程序的源音频,虚拟声卡保存的是计算机扬声器的输出端的音频流,已经是经过计算机混声等一系列处理的结果,并不是应用程序播放的源文件数据,导致保存的音频质量差。

技术实现思路

[0003]本专利技术实施例提供了基于HOOK函数的音频提取方法、装置及其相关介质,旨在解决现有技术中提取音频出现杂乱音频以及无法提取播放音频的源文件,导致保存的音频质量差的问题。
[0004]第一方面,本专利技术实施例提供了一种基于HOOK函数的音频提取方法,包括:
[0005]利用检索函数导出目标应用程序的音频编程接口地址;
[0006]编写第一HOOK函数,并利用所述第一HOOK函数的接口地址替换所述音频编程接口地址;
[0007]调用所述第一HOOK函数的接口地址以获取所述目标应用程序的音频播放对象;
[0008]利用所述音频播放对象获取所述目标应用程序的音频缓存区接口地址;
[0009]编写第二HOOK函数,并利用所述第二HOOK函数的接口地址替换所述音频缓存区接口地址;
[0010]调用所述第二HOOK函数的接口地址以提取所述目标应用程序的音频二进制数据,并保存至本地。
[0011]第二方面,本专利技术实施例提供了一种基于HOOK函数的音频提取装置,包括:
[0012]音频导出单元,用于利用检索函数导出目标应用程序的音频编程接口地址;
[0013]音频替换单元,用于编写第一HOOK函数,并利用所述第一HOOK函数的接口地址替换所述音频编程接口地址;
[0014]音频调用单元,用于调用所述第一HOOK函数的接口地址以获取所述目标应用程序的音频播放对象;
[0015]音频缓存单元,用于利用所述音频播放对象获取所述目标应用程序的音频缓存区接口地址;
[0016]音频接口单元,用于编写第二HOOK函数,并利用所述第二HOOK函数的接口地址替
换所述音频缓存区接口地址;
[0017]音频存储单元,用于调用所述第二HOOK函数的接口地址以提取所述目标应用程序的音频二进制数据,并保存至本地。
[0018]第三方面,本专利技术实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述第一方面的基于HOOK函数的音频提取方法。
[0019]第四方面,本专利技术实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述第一方面的基于HOOK函数的音频提取方法。
[0020]本专利技术实施例提供一种基于HOOK函数的音频提取方法,包括利用检索函数导出目标应用程序的音频编程接口地址;编写第一HOOK函数并利用其接口地址替换所述音频编程接口地址;调用所述第一HOOK函数的接口地址以获取所述目标应用程序的音频播放对象;利用所述音频播放对象获取所述目标应用程序的音频缓存区接口地址;编写第二HOOK函数并利用其接口地址替换所述音频缓存区接口地址;调用所述第二HOOK函数的接口地址以提取所述目标应用程序的音频二进制数据。本专利技术通过分别调用第一HOOK函数和第二HOOK函数,最终提取到目标应用程序的源音频,如此,能够提取指定的应用程序音频,并且提取到的应用程序音频为源音频,提高了保存音频的质量。
[0021]本专利技术实施例还提供一种基于HOOK函数的音频提取装置、计算机设备和存储介质,同样具有上述有益效果。
附图说明
[0022]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为本专利技术实施例提供的一种基于HOOK函数的音频提取方法的流程示意图;
[0024]图2为本专利技术实施例提供的一种基于HOOK函数的音频提取方法的另一流程示意图;
[0025]图3为本专利技术实施例提供的一种基于HOOK函数的音频提取装置的示意性框图。
具体实施方式
[0026]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0027]应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0028]还应当理解,在此本专利技术说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本专利技术。如在本专利技术说明书和所附权利要求书中所使用的那样,除非上
下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0029]还应当进一步理解,在本专利技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0030]下面请参见图1,图1为本专利技术实施例提供的一种基于HOOK函数的音频提取方法的流程示意图,具体包括:步骤S101~S106。
[0031]S101、利用检索函数导出目标应用程序的音频编程接口地址;
[0032]S102、编写第一HOOK函数,并利用所述第一HOOK函数的接口地址替换所述音频编程接口地址;
[0033]S103、调用所述第一HOOK函数的接口地址以获取所述目标应用程序的音频播放对象;
[0034]S104、利用所述音频播放对象获取所述目标应用程序的音频缓存区接口地址;
[0035]S105、编写第二HOOK函数,并利用所述第二HOOK函数的接口地址替换所述音频缓存区接口地址;
[0036]S106、调用所述第二HOOK函数的接口地址以提取所述目标应用程序的音频二进制数据,并保存至本地。
[0037]结合图2所示,在步骤S101中,首先是提取音频前的准备工作,即利用检索函数(如GetProcAddress函数,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于HOOK函数的音频提取方法,其特征在于,包括:利用检索函数导出目标应用程序的音频编程接口地址;编写第一HOOK函数,并利用所述第一HOOK函数的接口地址替换所述音频编程接口地址;调用所述第一HOOK函数的接口地址以获取所述目标应用程序的音频播放对象;利用所述音频播放对象获取所述目标应用程序的音频缓存区接口地址;编写第二HOOK函数,并利用所述第二HOOK函数的接口地址替换所述音频缓存区接口地址;调用所述第二HOOK函数的接口地址以提取所述目标应用程序的音频二进制数据,并保存至本地。2.根据权利要求1所述的基于HOOK函数的音频提取方法,其特征在于,所述利用检索函数导出目标应用程序的音频编程接口地址,包括:利用加载函数分别获取所述检索函数的DLL参数和音频创建函数;调用所述检索函数并传入所述DLL参数和音频创建函数,以获取所述音频编程接口地址。3.根据权利要求2所述的基于HOOK函数的音频提取方法,其特征在于,所述编写第一HOOK函数,并利用所述第一HOOK函数的接口地址替换所述音频编程接口地址,包括:根据所述音频创建函数的参数个数和返回值编写所述第一HOOK函数,得到所述第一HOOK函数的接口地址;调用进程内存函数将所述音频编程接口地址替换为所述第一HOOK函数的接口地址。4.根据权利要求2所述的基于HOOK函数的音频提取方法,其特征在于,所述调用所述第一HOOK函数的接口地址以获取所述目标应用程序的音频播放对象,包括:根据所述第一HOOK函数的接口地址调用所述音频创建函数,得到音频创建参数;利用所述音频创建参数计算得到所述音频创建函数的返回值;根据所述音频创建函数的返回值解析所述返回值,得到所述音频播放对象。5.根据权利要求1所述的基于HOOK函数的音频提取方法,其特征在于,所述利用所述音频播放对象获取所述目标应用程序的音频缓存区接口地址,包括:读取所述音频播放对象的音频参数;解析所述音频参数,得到所述音频缓存区接口地址。6.根据权利要求1...

【专利技术属性】
技术研发人员:冯叶
申请(专利权)人:深圳软牛科技有限公司
类型:发明
国别省市:

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

1