本发明专利技术公开了一种基于句柄函数的网络账号保护方法及系统,涉及网络账号保护领域。该方法的步骤为:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址;根据句柄函数入口地址,查找得到句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链表;根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,卸载键盘钩子句柄;否则确定当前直播应用程序安全。本发明专利技术能够定位和排查直播应用程序运行时的键盘钩子句柄,显著降低了直播应用程序的账号盗用率,保证了主播使用直播应用程序的安全。
【技术实现步骤摘要】
本专利技术涉及网络账号保护领域,具体涉及一种基于句柄函数的网络账号保护方法及系统。
技术介绍
目前,直播平台会在PC(personalcomputer,个人计算机)上提供一种供主播直播的软件(应用程序),该软件用于采集主播视频内容并进行直播。主播使用该软件时,需要输入自身唯一的账号以及对应的密码进行登录。目前,PC的操作系统程序一般使用Windows,而Windows提供了一种钩子机制,其中包括键盘钩子程序,该程序能够先于应用程序之前获取到所有的键盘操作。因此,若使用直播应用程序的同时在“不知情”的情况下打开了键盘钩子程序,则钩子程序的发布者即可得知使用当前PC电脑的主播的账号和密码。因此,现有的安装于PC上的直播应用程序使用时往往存在盗号的风险,主播的使用安全难以保障。
技术实现思路
针对现有技术中存在的缺陷,本专利技术解决的技术问题为:获取直播应用程序的进程是否安装有键盘钩子程序,本专利技术能够定位和排查直播应用程序运行时的键盘钩子句柄,显著降低了直播应用程序的账号盗用率,保证了主播使用直播应用程序的安全。为达到以上目的,本专利技术提供的基于句柄函数的网络账号保护方法,包括以下步骤:S1:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址,转到S2;S2:根据句柄函数入口地址,查找得到句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链表,转到S3;S3:根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,转到S4,否则转到S5;S4:卸载键盘钩子句柄,转到S5;S5:确定当前直播应用程序安全,结束。本专利技术提供的实现上述方法的基于句柄函数的网络账号保护系统,包括句柄函数入口地址获取模块、句柄链表获取模块、键盘钩子句柄确定模块、键盘钩子句柄卸载模块和排查结果显示模块;句柄函数入口地址获取模块用于:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址,向句柄链表获取模块发送句柄链表获取信号;句柄链表获取模块用于:收到句柄链表获取信号后,根据句柄函数入口地址,查找得到句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链表,向键盘钩子句柄确定模块发送键盘钩子句柄确定信号;键盘钩子句柄确定模块用于:收到键盘钩子句柄确定信号后,根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,向键盘钩子句柄卸载模块发送键盘钩子句柄卸载信号;否则向排查结果显示模块发送排查结果显示信号;键盘钩子句柄卸载模块用于:收到键盘钩子句柄卸载信号后,卸载键盘钩子句柄,向排查结果显示模块发送排查结果显示信号;排查结果显示模块用于:收到排查结果显示信号后,显示当前直播应用程序使用安全。与现有技术相比,本专利技术的优点在于:本专利技术确定直播应用程序运行时所需的所有句柄之后,对每个句柄进行检测,若发现有句柄为键盘钩子句柄,则可以卸载或者发出告警。因此,与现有技术中存在盗号风险的直播应用程序相比,本专利技术能够定位和排查直播应用程序运行时的键盘钩子句柄,显著降低了直播应用程序的账号盗用率,保证了主播使用直播应用程序的安全。附图说明图1为本专利技术实施例中基于句柄函数的网络账号保护方法的流程图。具体实施方式以下结合附图及实施例对本专利技术作进一步详细说明。首先对本专利技术的原理进行阐述:键盘钩子程序都是使用全局键盘钩子,键盘钩子程序必须单独编写到一个独立的模块中(动态链接库DLL);植入键盘钩子程序时,通过调用Windwos提供的API函数SetWindowsHookEx(把一个应用程序定义的钩子子程序安装到钩子链表中)来设置一个全局的键盘钩子,一旦设置成功则会给当前电脑所有的进程中安装一个键盘钩子,从而可以获取到所有进程的键盘操作。在此基础上,参见图1所示,本专利技术实施例中的基于句柄函数的网络账号保护方法,包括以下步骤:S1:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址(通过句柄函数入口地址能够找到直播应用程序对应的所有句柄,一个句柄是指使用的一个唯一的整数值,句柄用于标识应用程序中不同对象和同类中的不同实例),转到S2。S1的具体流程为:S101:调用模块句柄获取函数(WindowsAPIGetModuleHandle),获取直播应用程序的句柄模块(User32.dll模块)所在进程中的内存地址(hModuleUser32,即User32.dll的模块句柄,也就是User32.dll模块所在进程中的内存地址):HMODULEhModuleUser32=GetModuleHandle(“User32.dll”)。S102:调用地址检索函数(WindowsAPIGetProcAddress,检索指定的动态链接库中的输出库函数地址),根据User32.dll模块所在进程中的内存地址获取句柄函数入口地址(AddrHandlers):DWORDAddrHandlers=GetProcAddress(hModuleUser32,“UserRegisterWowhandlers”)。S2:根据句柄函数入口地址进行查找,得到句柄链表结构(前2个字节为0x40c7,第7个字节为0xb8),该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表结构中句柄链表的起始地址,确定句柄链表,转到S3。S3:根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,转到S4,否则转到S5。S3的具体流程为:S301:判断句柄链表中的每个句柄的类型是否为TYPE_HOOK,若是,则确定当前句柄为钩子句柄,转到S302,否则转到S5。S302:调用WindowsAPIReadKernelMemory(内存信息读取函数),读取当前句柄的详细类型,判断该详细类型是否为WH_KEYBOARD_LL,若是,则确定当前句柄为键盘钩子句柄,转到S4,否则确定当前句柄为消息钩子句柄,转到S5(钩子分为消息钩子和键盘钩子,因为只有键盘钩子可能盗号,所以本专利技术只处理键盘钩子)。S4:调用WindowsAPIUnhookWindowsHookEx(钩子程序卸载函数),卸载键盘钩子句柄:UnhookWindowsHookEx(keyboardHandle),其中keyboardHandle即为S3中的键盘钩子句柄,转到S5。S5:确定当前直播应用程序安全,结束。本专利技术提供的实现上述方法的基于句柄函数的网络账号保护系统,包括句柄函数入口地址获取模块、句柄链表获取模块、键盘钩子句柄确定模块、键盘钩子句柄卸载模块和排查结果显示模块。句柄函数入口地址获取模块用于:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址(获取直播应用程序的句柄模块:User32.dll模块所在进程中的内存地址,根据所述内存地址获取句柄函数入口地址),向句柄链表获取模块发送句柄链表获取信号。句柄链表获取模块用于:收到句柄链表获取信号后,根据句柄函数入口地址,查找得到句柄链表结构(前2个字节为0x40c7,第7个字节为0xb8),该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链本文档来自技高网...
【技术保护点】
一种基于句柄函数的网络账号保护方法,其特征在于,该方法包括以下步骤:S1:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址,转到S2;S2:根据句柄函数入口地址,查找得到句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链表,转到S3;S3:根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,转到S4,否则转到S5;S4:卸载键盘钩子句柄,转到S5;S5:确定当前直播应用程序安全,结束。
【技术特征摘要】
1.一种基于句柄函数的网络账号保护方法,其特征在于,该方法包括以下步骤:S1:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址,转到S2;S2:根据句柄函数入口地址,查找得到句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链表,转到S3;S3:根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,转到S4,否则转到S5;S4:卸载键盘钩子句柄,转到S5;S5:确定当前直播应用程序安全,结束。2.如权利要求1所述的基于句柄函数的网络账号保护方法,其特征在于:S3的具体流程为:S301:判断句柄链表中的每个句柄的类型是否为TYPE_HOOK,若是,则确定当前句柄为钩子句柄,转到S302,否则转到S5;S302:读取当前句柄的详细类型,判断所述详细类型是否为WH_KEYBOARD_LL,若是,则确定当前句柄为键盘钩子句柄,转到S4,否则确定当前句柄为消息钩子句柄,转到S5。3.如权利要求1所述的基于句柄函数的网络账号保护方法,其特征在于:S2中所述句柄链表结构的前2个字节为0x40c7,第7个字节为0xb8。4.如权利要求1至3任一项所述的基于句柄函数的网络账号保护方法,其特征在于:S1的具体流程为:S101:获取直播应用程序的句柄模块所在进程中的内存地址;S102:根据所述内存地址获取句柄函数入口地址。5.权利要求4所述的基于句柄函数的网络账号保护方法,其特征在于:S101中所述直播应用程序的句柄模块为User32.dll模块。6.一种实现权利要求1至5任一项所述方法的基于句柄函数的网络账号保护系统,其特征在于,该系统包括句柄函数入口地址获取模块、句柄链表获取模块、键盘钩子句柄确定模块、键盘钩子句柄卸载模块和排查结果显示模块;句柄函数入口地址获取模块用于:在直播应用程序运行时,获取直播应用程序的进程注册的句柄...
【专利技术属性】
技术研发人员:周志刚,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。