一种基于句柄函数的网络账号保护方法及系统.pdf

上传人:111****112 文档编号:6031201 上传时间:2019-04-03 格式:PDF 页数:8 大小:416.44KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610848198.8

申请日:

2016.09.22

公开号:

CN106446678A

公开日:

2017.02.22

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 21/55申请日:20160922|||公开

IPC分类号:

G06F21/55(2013.01)I

主分类号:

G06F21/55

申请人:

武汉斗鱼网络科技有限公司

发明人:

周志刚

地址:

430000 湖北省武汉市东湖开发区软件园东路1号软件产业4.1期B1栋11楼

优先权:

专利代理机构:

武汉智权专利代理事务所(特殊普通合伙) 42225

代理人:

沈林华

PDF下载: PDF下载
内容摘要

本发明公开了一种基于句柄函数的网络账号保护方法及系统,涉及网络账号保护领域。该方法的步骤为:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址;根据句柄函数入口地址,查找得到句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链表;根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,卸载键盘钩子句柄;否则确定当前直播应用程序安全。本发明能够定位和排查直播应用程序运行时的键盘钩子句柄,显著降低了直播应用程序的账号盗用率,保证了主播使用直播应用程序的安全。

权利要求书

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任一项所述方法的基于句柄函数的网络账号保护系统,其特
征在于,该系统包括句柄函数入口地址获取模块、句柄链表获取模块、键盘钩子句柄确定模
块、键盘钩子句柄卸载模块和排查结果显示模块;
句柄函数入口地址获取模块用于:在直播应用程序运行时,获取直播应用程序的进程
注册的句柄函数入口地址,向句柄链表获取模块发送句柄链表获取信号;
句柄链表获取模块用于:收到句柄链表获取信号后,根据句柄函数入口地址,查找得到
句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个
数;根据句柄链表的起始地址确定句柄链表,向键盘钩子句柄确定模块发送键盘钩子句柄
确定信号;
键盘钩子句柄确定模块用于:收到键盘钩子句柄确定信号后,根据句柄链表中每个句
柄的类型,判断对应句柄是否为键盘钩子句柄,若是,向键盘钩子句柄卸载模块发送键盘钩
子句柄卸载信号;否则向排查结果显示模块发送排查结果显示信号;
键盘钩子句柄卸载模块用于:收到键盘钩子句柄卸载信号后,卸载键盘钩子句柄,向排
查结果显示模块发送排查结果显示信号;
排查结果显示模块用于:收到排查结果显示信号后,显示当前直播应用程序使用安全。
7.如权利要求6所述的基于句柄函数的网络账号保护系统,其特征在于:所述键盘钩子
句柄确定模块的具体工作流程为:
判断句柄链表中的每个句柄的类型是否为TYPE_HOOK,若不是,向排查结果显示模块发
送排查结果显示信号;若是:
读取当前句柄的详细类型,判断所述详细类型是否为WH_KEYBOARD_LL,若是,则确定当
前句柄为键盘钩子句柄,向键盘钩子句柄卸载模块发送键盘钩子句柄卸载信号;否则确定
当前句柄为消息钩子句柄,向排查结果显示模块发送排查结果显示信号。
8.如权利要求6所述的基于句柄函数的网络账号保护系统,其特征在于:所述句柄链表
获取模块中句柄链表结构的前2个字节为0x40c7,第7个字节为0xb8。
9.如权利要求6至8任一项所述的基于句柄函数的网络账号保护系统,其特征在于:所
述句柄函数入口地址获取模块的具体工作流程为:获取直播应用程序的句柄模块所在进程
中的内存地址,根据所述内存地址获取句柄函数入口地址。
10.权利要求9所述的基于句柄函数的网络账号保护系统,其特征在于:所述直播应用
程序的句柄模块为User32.dll模块。

说明书

一种基于句柄函数的网络账号保护方法及系统

技术领域

本发明涉及网络账号保护领域,具体涉及一种基于句柄函数的网络账号保护方法
及系统。

背景技术

目前,直播平台会在PC(personal computer,个人计算机)上提供一种供主播直播
的软件(应用程序),该软件用于采集主播视频内容并进行直播。主播使用该软件时,需要输
入自身唯一的账号以及对应的密码进行登录。

目前,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:调用模块句柄获取函数(Windows API GetModuleHandle),获取直播应用程
序的句柄模块(User32.dll模块)所在进程中的内存地址(hModuleUser32,即User32.dll的
模块句柄,也就是User32.dll模块所在进程中的内存地址):

HMODULE hModuleUser32=GetModuleHandle(“User32.dll”)。

S102:调用地址检索函数(Windows API GetProcAddress,检索指定的动态链接库
中的输出库函数地址),根据User32.dll模块所在进程中的内存地址获取句柄函数入口地
址(AddrHandlers):

DWORD AddrHandlers=GetProcAddress(hModuleUser32,
“UserRegisterWowhandlers”)。

S2:根据句柄函数入口地址进行查找,得到句柄链表结构(前2个字节为0x40c7,第
7个字节为0xb8),该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的
个数;根据句柄链表结构中句柄链表的起始地址,确定句柄链表,转到S3。

S3:根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,
转到S4,否则转到S5。

S3的具体流程为:

S301:判断句柄链表中的每个句柄的类型是否为TYPE_HOOK,若是,则确定当前句
柄为钩子句柄,转到S302,否则转到S5。

S302:调用Windows API ReadKernelMemory(内存信息读取函数),读取当前句柄
的详细类型,判断该详细类型是否为WH_KEYBOARD_LL,若是,则确定当前句柄为键盘钩子句
柄,转到S4,否则确定当前句柄为消息钩子句柄,转到S5(钩子分为消息钩子和键盘钩子,因
为只有键盘钩子可能盗号,所以本发明只处理键盘钩子)。

S4:调用Windows API UnhookWindowsHookEx(钩子程序卸载函数),卸载键盘钩子
句柄:

UnhookWindowsHookEx(keyboardHandle),其中keyboardHandle即为S3中的键盘
钩子句柄,转到S5。

S5:确定当前直播应用程序安全,结束。

本发明提供的实现上述方法的基于句柄函数的网络账号保护系统,包括句柄函数
入口地址获取模块、句柄链表获取模块、键盘钩子句柄确定模块、键盘钩子句柄卸载模块和
排查结果显示模块。

句柄函数入口地址获取模块用于:在直播应用程序运行时,获取直播应用程序的
进程注册的句柄函数入口地址(获取直播应用程序的句柄模块:User32.dll模块所在进程
中的内存地址,根据所述内存地址获取句柄函数入口地址),向句柄链表获取模块发送句柄
链表获取信号。

句柄链表获取模块用于:收到句柄链表获取信号后,根据句柄函数入口地址,查找
得到句柄链表结构(前2个字节为0x40c7,第7个字节为0xb8),该结构中储存有句柄链表的
起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链
表,向键盘钩子句柄确定模块发送键盘钩子句柄确定信号。

键盘钩子句柄确定模块用于:收到键盘钩子句柄确定信号后,根据句柄链表中每
个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,向键盘钩子句柄卸载模块发送键
盘钩子句柄卸载信号;否则向排查结果显示模块发送排查结果显示信号;具体工作流程为:

判断句柄链表中的每个句柄的类型是否为TYPE_HOOK,若不是,向排查结果显示模
块发送排查结果显示信号;若是:

读取当前句柄的详细类型,判断所述详细类型是否为WH_KEYBOARD_LL,若是,则确
定当前句柄为键盘钩子句柄,向键盘钩子句柄卸载模块发送键盘钩子句柄卸载信号;否则
确定当前句柄为消息钩子句柄,向排查结果显示模块发送排查结果显示信号。

键盘钩子句柄卸载模块用于:收到键盘钩子句柄卸载信号后,卸载键盘钩子句柄,
向排查结果显示模块发送排查结果显示信号。

排查结果显示模块用于:收到排查结果显示信号后,显示当前直播应用程序使用
安全。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离
本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护
范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

一种基于句柄函数的网络账号保护方法及系统.pdf_第1页
第1页 / 共8页
一种基于句柄函数的网络账号保护方法及系统.pdf_第2页
第2页 / 共8页
一种基于句柄函数的网络账号保护方法及系统.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种基于句柄函数的网络账号保护方法及系统.pdf》由会员分享,可在线阅读,更多相关《一种基于句柄函数的网络账号保护方法及系统.pdf(8页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于句柄函数的网络账号保护方法及系统,涉及网络账号保护领域。该方法的步骤为:在直播应用程序运行时,获取直播应用程序的进程注册的句柄函数入口地址;根据句柄函数入口地址,查找得到句柄链表结构,该结构中储存有句柄链表的起始地址和直播应用程序对应的所有句柄的个数;根据句柄链表的起始地址确定句柄链表;根据句柄链表中每个句柄的类型,判断对应句柄是否为键盘钩子句柄,若是,卸载键盘钩子句柄;否则确。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1