CN108307246B - 一种计算直播间人气的方法、存储介质、设备及系统 - Google Patents

一种计算直播间人气的方法、存储介质、设备及系统 Download PDF

Info

Publication number
CN108307246B
CN108307246B CN201810017883.5A CN201810017883A CN108307246B CN 108307246 B CN108307246 B CN 108307246B CN 201810017883 A CN201810017883 A CN 201810017883A CN 108307246 B CN108307246 B CN 108307246B
Authority
CN
China
Prior art keywords
authentication value
client
popularity
calculating
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810017883.5A
Other languages
English (en)
Other versions
CN108307246A (zh
Inventor
周志刚
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810017883.5A priority Critical patent/CN108307246B/zh
Priority to PCT/CN2018/081294 priority patent/WO2019136847A1/zh
Publication of CN108307246A publication Critical patent/CN108307246A/zh
Application granted granted Critical
Publication of CN108307246B publication Critical patent/CN108307246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种计算直播间人气的方法、存储介质、设备及系统,涉及人机识别技术领域。该方法包括:客户端利用预设的人气鉴权算法进行鉴权值的计算时,该人气鉴权算法先调用普通的鉴权值计算算法计算出第一鉴权值,计算完成后触发预设的硬件断点功能,通过硬件断点处理函数计算出作为最终鉴权值的第二鉴权值;客户端将鉴权值经加密后上报至直播平台服务器;直播平台服务器经解密得到客户端上报的鉴权值后,使用与客户端相同的算法计算出鉴权值,并将计算出的鉴权值与客户端上报的鉴权值进行比对,若一致,则计算该客户端的人气到所观看的直播间人气中。本发明能有效提高客户端人气鉴权算法被破解的门槛,实现一种准确计算直播间人气的方案。

Description

一种计算直播间人气的方法、存储介质、设备及系统
技术领域
本发明涉及人机识别技术领域,具体来讲是一种计算直播间人气的方法、存储介质、设备及系统。
背景技术
目前,随着网络通信技术的进步和宽带网络的提速,网络直播得到了越来越多的发展和应用。尤其在游戏直播领域,越来越多的观众会观看游戏主播的直播。而一些不良主播会通过刷人气的方法来提高房间同时观看的观众数量,从而获取更大的收益。其刷人气的具体的实现方式则是在一台性能非常好的服务器上,通过破解直播平台的网络协议,同时伪造大量的虚假客户端用户同时登陆到直播间,从而伪造大量观众的假象,来将直播间的人气数据刷的比较高。
这种通过破解直播平台的网络协议,伪造虚假人气数据的做法,不但对其他主播的直播造成一定影响,存在不公平的现象;还影响了用户的体验;而且还对直播平台的安全造成了一定的威胁。
因此,本领域技术人员急需一种更加优化、准确的计算直播间人气的方法,能够有效防止黑客恶意刷高直播房间人气的情况。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种计算直播间人气的方法、存储介质、设备及系统,采用基于硬件断点方式来设置复杂的人气鉴权算法,提高客户端人气鉴权算法被破解的门槛,有效防止黑客通过破解人气鉴权算法来恶意刷高直播间人气。
为达到以上目的,本发明采取的技术方案是:提供一种计算直播间人气的方法,该方法包括以下步骤:
客户端利用预设的人气鉴权算法进行鉴权值的计算;计算过程中,该人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值,计算完成后触发预设的硬件断点功能,通过预设的硬件断点处理函数计算出第二鉴权值,所述第二鉴权值为最终计算的鉴权值;
客户端将计算好的鉴权值经加密后上报至直播平台服务器;
直播平台服务器经解密得到客户端上报的鉴权值后,使用与该客户端相同的算法计算出鉴权值,并将计算出的鉴权值与客户端上报的鉴权值进行比对,若一致,则将该客户端的人气计算到其所观看的直播间人气中。
在上述技术方案的基础上,所述硬件断点功能的预设包括以下操作:提升客户端进程的权限,使其可以设置硬件断点功能;将预先编写好的硬件断点处理函数进行注册,使得当硬件断点功能触发时,系统会调用注册的硬件断点处理函数;对硬件断点的触发地址进行设置,将其设置为所述普通的鉴权值计算算法的结束地址。
在上述技术方案的基础上,所述普通的鉴权值计算算法计算出第一鉴权值的具体流程为:将客户端的用户信息进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第一鉴权值。
在上述技术方案的基础上,所述预设的硬件断点处理函数计算出第二鉴权值的具体流程为:将客户端的用户信息与第一鉴权值进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第二鉴权值。
本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述计算直播间人气的方法的步骤。
本发明还提供一种计算直播间人气的设备,包括存储器、处理器及存储在存储器上并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述防止刷人气的方法的步骤。
本发明还提供一种计算直播间人气的系统,该系统包括设置于客户端的鉴权值计算单元、鉴权值上报单元;以及设置于直播平台服务器的鉴权值校验单元;
所述鉴权值计算单元用于:利用预设的人气鉴权算法进行鉴权值的计算;计算过程中,该人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值,计算完成后触发预设的硬件断点功能,通过预设的硬件断点处理函数计算出第二鉴权值,所述第二鉴权值为最终计算的鉴权值;
所述鉴权值上报单元用于:将所述鉴权值计算单元计算好的鉴权值经加密后上报至直播平台服务器;
所述鉴权值校验单元用于:对客户端上报的信息进行解密,得到客户端上报的鉴权值;使用与客户端相同的算法计算出鉴权值,并将计算出的鉴权值与客户端上报的鉴权值进行比对,若一致,则将该客户端的人气计算到其所观看的直播间人气中。
在上述技术方案的基础上,该系统还包括设置于客户端的硬件断点功能预设单元,该硬件断点功能预设单元用于:提升客户端进程的权限,使其可以设置硬件断点功能;将预先编写好的硬件断点处理函数进行注册,使得当硬件断点功能触发时,系统会调用注册的硬件断点处理函数;对硬件断点的触发地址进行设置,将其设置为所述普通的鉴权值计算算法的结束地址。
在上述技术方案的基础上,所述鉴权值计算单元利用人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值的具体流程为:将客户端的用户信息进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第一鉴权值。
在上述技术方案的基础上,所述鉴权值计算单元利用人气鉴权算法通过预设的硬件断点处理函数计算出第二鉴权值的具体流程为:将客户端的用户信息与第一鉴权值进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第二鉴权值。
本发明的有益效果在于:
本发明将人气鉴权算法拆分成两个部分:一部分是正常执行普通的鉴权值计算算法,执行完成后会产生硬件断点,从而开始执行第二部分的硬件断点处理函数,在硬件断点处理函数中执行人气鉴权算法的第二部分的计算,从而最终得到人气鉴权算法的鉴权值。
与现有技术相比,该方法使得人气鉴权算法更加复杂、难以被破解,即使黑客破解也最多只能破解出第一部分的普通的鉴权值计算算法,那么异常客户端或者刷人气的服务器是无法执行到硬件断点的硬件断点处理函数的,由于其只能计算部分人气鉴权算法的鉴权值,因此其计算结果必定是错误的,服务器可以轻易判断出其是刷人气的行为,从而不将其计入到直播间人气中,从而实现一种准确的计算直播间人气的方案。
附图说明
图1为本发明实施例中计算直播间人气的方法的流程图;
图2为本发明实施例中计算直播间人气的设备的结构示意图;
图3为本发明实施例中计算直播间人气的系统的结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
本发明的目的是提供一种更加优化、准确的计算直播间人气的方案。该方案通过在运行预设的人气鉴权算法的过程中,对人气鉴权算法设置一个硬件断点,那么当人气鉴权算法执行完普通的鉴权值计算后会触发硬件断点功能,从而使得预先编写的硬件断点处理函数能够捕获到,并在该硬件断点处理函数中进一步计算鉴权值,使得人气鉴权算法更加复杂、难以被破解。
目前,传统的人气鉴权算法是通过一些参数计算出一个鉴权值KEY,并将该KEY值发送到服务器,服务器采用同样的算法来计算出服务器的KEY值,对比客户端的值是否一致,如果一致则判定客户端是合法的。一旦黑客通过截取网络协议获得到大量客户端发送的KEY值,则可轻易破解出传统的人气鉴权算法,从而达到伪造人气的目的。而本发明的设计思路则是在运行人气鉴权算法的过程中,使该算法先通过一个普通的鉴权值计算算法计算出一个鉴权值KEY1,此KEY1值计算完成后,会触发预设的一个内存的硬件断点,那么则可以在硬件断点处理函数中再进一步的对KEY1值进行加密得到鉴权值KEY2,从而只有能够处理硬件断点程序才能正确的计算出鉴权值KEY2,否则无法正确计算出鉴权值KEY2。
也就是说,本发明的核心设计思想是将人气鉴权算法拆分成两个部分:一部分是正常执行普通的鉴权值计算算法,执行完成后会产生硬件断点,从而开始执行第二部分的硬件断点处理函数,在硬件断点处理函数中执行人气鉴权算法的第二部分的计算,从而最终得到人气鉴权算法的鉴权值。该方法使得人气鉴权算法更加复杂、难以被破解,即使黑客破解也最多只能破解出第一部分的普通的鉴权值计算算法,那么异常客户端或者刷人气的服务器是无法执行到硬件断点的硬件断点处理函数的,由于其只能计算部分人气鉴权算法的鉴权值,因此其计算结果必定是错误的,服务器可以轻易判断出其是刷人气的行为,从而不将其计入到直播间人气中,从而实现一种准确的计算直播间人气的效果。
基于上述设计思路,参见图1所示,本发明实施例提供一种计算直播间人气的方法,该方法包括以下步骤:
步骤S1、客户端计算鉴权值:客户端利用预设的人气鉴权算法进行鉴权值的计算;计算过程中,该人气鉴权算法先调用普通的鉴权值计算算法计算出第一鉴权值KEY1;计算完成后触发预设的硬件断点功能,通过预设的硬件断点处理函数计算出第二鉴权值KEY2,该第二鉴权值KEY2为最终计算的鉴权值。
可以理解的是,在实际操作中,调用普通的鉴权值计算算法计算出第一鉴权值KEY1时,可采用现有的各种鉴权值计算算法或根据直播平台需求自行编写的鉴权值计算算法来实现KEY1值的计算,此处不做任何限制。
举例来说,在一种实施方式中,步骤S1中,调用普通的鉴权值计算算法计算出第一鉴权值KEY1的具体流程可如下:将客户端的用户信息进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第一鉴权值KEY1。其中,举例来说,该用户信息可包括:用户的UID(User ID,用户账号唯一ID)信息、用户登录时直播平台服务器下发的Token(令牌)信息、用户的DID(Device ID,用户设备唯一ID)信息、当前系统的时间戳信息TimeStamp、用户当前请求的房间号信息RoomId等。该普通的鉴权值计算算法对应的函数代码可如下:
Figure BDA0001542547200000061
Figure BDA0001542547200000071
进一步的,同样可以理解的是,通过预设的硬件断点处理函数计算出第二鉴权值KEY2时,预设的硬件断点处理函数可采用目前已有的各种计算算法或根据直播平台需求自行编写的计算算法来实现KEY2值的计算,此处也不做任何限制。
举例来说,在一种实施方式中,步骤S1中,预设的硬件断点处理函数计算出第二鉴权值KEY2的具体流程可如下:将客户端的用户信息与第一鉴权值KEY1进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第二鉴权值KEY2。其中,该用户信息还是可包括:用户的UID信息、用户登录时直播平台服务器下发的Token信息、用户的DID信息、当前系统的时间戳TimeStamp、用户当前请求的房间号信息RoomId等。对应的函数代码可如下:
{
g_KEY2=MD5.Create(UID+Token+DID+TimeStamp+RoomId+g_KEY1);
}
从上述内容可知,本发明实施例中在计算第一鉴权值KEY1之后,会通过预设的硬件断点处理函数将用户信息(如UID+Token+DID+TimeStamp+RoomId)加上第一鉴权值KEY1之后的参数再计算一次MD5值,从而得到作为最终的鉴权值的第二鉴权值KEY2。而对于没有硬件断点处理函数或者黑客破解时并没有发现此处的再一次的加密计算过程,则会导致最终伪造的鉴权值是只计算过一次的KEY1值。并且,该硬件断点处理函数是封装在硬件断点功能的处理逻辑中,和普通的鉴权值计算算法的代码是分开的,并且执行上是没有任何耦合的,从而黑客是比较难发现的。
更进一步地,可以理解的是,为了能在人气鉴权算法中实现硬件断点功能,需要事先在客户端中进行硬件断点功能的预先设置,即在步骤S1之前进行硬件断点功能的预设。在一种实施方式中,硬件断点功能的预设包括以下操作:
(1)提升客户端进程的权限,使其可以设置硬件断点功能。
可以理解的是,在程序中要设置硬件断点,则必须具有一定的权限才行,所以首先要在客户端软件中编写相应的功能来提升客户端进程的权限,从而使其可以设置硬件断点功能。
具体来说,由于设置调试寄存器来获取内存访问的地址,则首先需要对进程的权限进行提升,因此提升权限的功能调用需要放到设置调试寄存器之前执行。通过调用一系列的API(Application Programming Interface,应用程序编程接口)函数则可以对进程的权限进行提升。例如:首先通过调用API函数GetCurrentProcess来获取当前程序的句柄;然后调用API函数OpenProcessToken来打开进程相关联的访问令牌;再调用API函数LookupPrivilegeValue来获取DEBUG权限的值,最后调用API函数AdjustTokenPrivileges来调整进程的权限为DEBUG权限(即调试权限,该权限级别较高)。通过这些步骤就可以完成提升进程的权限使得可以设置硬件断点的功能。
(2)将预先编写好的硬件断点处理函数(可以理解的是,所编写的硬件断点处理函数的功能则是按照上文所述的内容计算出第二鉴权值KEY2的具体流程)进行注册,使得当硬件断点功能触发时,系统会调用注册的硬件断点处理函数。具体实现原理为:通过注册一个Windows提供的向量化异常处理函数,则可以捕获相应的异常事件。对于CPU的调试寄存器设置了内存地址后,当该地址被访问后,CPU会抛出一个读写异常,通过注册的这个异常处理则可以捕获到抛出的异常,并且在异常处理函数中可以获取到异常的类型,依据异常的类型来判断是不是触发了内存访问的异常,如果是则可以从异常的上下问中获取当前指令执行的地址,即可以获取到内存的那处代码有对这个地址有访问。
具体实现过程可如下:通过调用API函数AddVectoredExceptionHandler来注册一个异常,例如,
PVOID WINAPI AddVectoredExceptionHandler(ULONGFirstHan dler,PVECTORED_EXCEPTION_HANDLERVectoredHandler);
其中FirstHandler填入0,表示这个注册的异常处理函数是最后一个接管异常的。那么关键则是将预先编写好的硬件断点处理函数VectoredHandler注册到系统的异常接管中。
(3)对硬件断点的触发地址进行设置,将其设置为普通的鉴权值计算算法的结束地址。
可以理解的是,由于进程是不能够执行代码,只有线程能够执行代码,而一个进程是包含有多个线程的,所以需要在一个进程的所有线程都设置硬件断点。例如,首先通过调用API函数CreateToolhelp32Snapshot来获取线程的快照,其中参数传入TH32CS_SNAPTHREAD,标示获取系统的所有线程。调用API函数Thread32First来获取第一个线程的信息(信息中包括线程的ID,线程所属的进程ID),通过进程ID则可以过滤掉不属于本进程的线程。接着调用API函数Thread32Next可以获取到下一个线程的句柄,一直调用Thread32Next函数则可以遍历到所有的线程,直到没有获取到的线程为空。对于每个线程首先通过调用API函数GetThreadContext来获取线程的上下文信息,其中对函数GetThreadContext的调用传入参数CONTEXT_DEBUG_REGISTERS表示获取线程上下文的寄存器信息。对于一个CPU来说,其调试寄存器一共有4个,也就是说同时最多只能设置4个内存地址。假设CPU的4个寄存器分别是Dr0、Dr1、Dr2、Dr3,则:
1)如果对Dr0设置内存读写访问,那么需要设置
ctx.Dr0=Address,其中Address就是需要设置的内存地址;
ctx.Dr7|=0xf0501;
如果设置的是读写都进行监控,则填入0xf0501,如果只监控写则填入0xd0501。
2)如果对Dr1设置内存读写访问,那么需要设置
ctx.Dr1=Address,其中Address就是需要设置的内存地址;
ctx.Dr7|=0xf00004;
如果设置的是读写都进行监控,则填入0xf00004,如果只监控写则填入0xd00004。
3)如果对Dr2设置内存读写访问,那么需要设置
ctx.Dr2=Address,其中Address就是需要设置的内存地址;
ctx.Dr7|=0xf000010;
如果设置的是读写都进行监控,则填入0xf000010,如果只监控写则填入0xd000010。
4)如果对Dr3设置内存读写访问,那么需要设置
ctx.Dr3=Address,其中Address就是需要设置的内存地址;
ctx.Dr7|=0xf0000040;
如果设置的是读写都进行监控,则填入0xf0000040,如果只监控写则填入0xd000040。
需要设置哪个寄存器,则可以按照上述方法来设置寄存器的值以及需要对那个地址进行监控。具体应用到本实施例中时,则是将普通的鉴权值计算算法的功能代码设置为监控的硬件断点,那么可以通过将普通的鉴权值计算算法的功能函数地址来设置为硬件断点的触发地址。即,将函数CreateKey的地址设置为硬件断点的地址,如ctx.Dr0=CreateKey,其中Address就是需要设置的普通的鉴权值计算算法CreateKey的内存地址;ctx.Dr7|=0xf0501。
步骤S2、客户端上报鉴权值:客户端将计算好的鉴权值经加密后上报至直播平台服务器。
可以理解的是,实际应用中,步骤S2中所使用的加密算法可根据实际需要进行自行选择,如对称加密算法AES或DES等,此处不做限定。本实施例中,使用对称加密算法AES来进行加密,且加密时会将计算好的鉴权值携带客户端的时间戳TimeStamp一同进行加密,可进一步提高加密的可靠性。其具体实现代码可如下:
Encryptdata=AES.Encrypt(g_KEY2+timestamp,key);
其中,使用加密算法AES.Encrypt来对数据g_KEY2和客户端的时间戳一起来进行加密。其中加密所需的参数key则可以是服务器与客户端事先协商好的或者是服务器事先下发的key值。最终客户端将结果Encryptdata上报到直播平台服务器。
步骤S3、服务器校验鉴权值:直播平台服务器经解密得到客户端上报的鉴权值后,使用与该客户端相同的算法计算出鉴权值,并将计算出的鉴权值与客户端上报的鉴权值进行比对校验,若比对校验通过(即两者的数据一致),说明该客户端是合法的客户端,则计算该客户端的人气到所观看的直播间人气中;若比对校验未通过(即两者的数据不一致),说明该客户端是非法的客户端,则不计算该客户端的人气到所观看的直播间人气中。
实际操作中,直播平台服务器经解密得到客户端上报的鉴权值的实现代码可如下:g_KEY2+timestamp=AES.Decrypt(Encryptdata,key)。直播平台服务器使用与该客户端相同的算法计算出鉴权值的实现代码可如下:sKEY1=MD5.Create(UID+Token+DID+TimeStamp+RoomId);sKEY2=MD5.Create(UID+Token+DID+TimeStamp+RoomId+sKEY1)。直播平台服务器对比自己计算的sKEY2与客户端上报的g_KEY2是否一致,若一致则说明该客户端是合法的客户端,应当计算该客户端的人气到所观看的直播间人气中,即该直播间的人气值将加1;否则,不计算该客户端的人气,即该直播间的人气值将不变。通过上述操作则可有效地识别出合法的客户端和非法的客户端,从而准确的计算出直播间人气。
对应上述的计算直播间人气的方法,本发明实施例还提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现上述各实施例中的计算直播间人气的方法的步骤。需要说明的是,所述存储介质包括U盘、移动硬盘、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,参见图2所示,对应上述的计算直播间人气的方法,本发明实施例还提供一种计算直播间人气的设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时可实现上述各实施例中的计算直播间人气的方法的步骤。
参见图3所示,本发明实施例还提供一种计算直播间人气的系统,该系统包括设置于客户端的鉴权值计算单元、鉴权值上报单元;以及设置于直播平台服务器的鉴权值校验单元。
其中,所述鉴权值计算单元用于:利用预设的人气鉴权算法进行鉴权值的计算;计算过程中,该人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值,计算完成后触发预设的硬件断点功能,通过预设的硬件断点处理函数计算出第二鉴权值,所述第二鉴权值为最终计算的鉴权值。所述鉴权值上报单元用于:将所述鉴权值计算单元计算好的鉴权值经加密后上报至直播平台服务器。所述鉴权值校验单元用于:对客户端上报的信息进行解密,得到客户端上报的鉴权值;使用与客户端相同的算法计算出鉴权值,并将计算出的鉴权值与客户端上报的鉴权值进行比对,若一致,则将该客户端的人气计算到其所观看的直播间人气中。
进一步地,参见图3所示,在一种实施方式中,该系统还包括设置于客户端的硬件断点功能预设单元。该硬件断点功能预设单元用于:提升客户端进程的权限,使其可以设置硬件断点功能;将预先编写好的硬件断点处理函数进行注册,使得当硬件断点功能触发时,系统会调用注册的硬件断点处理函数;对硬件断点的触发地址进行设置,将其设置为所述普通的鉴权值计算算法的结束地址。
更进一步地,在一种实施方式中,所述鉴权值计算单元利用人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值的具体流程为:将客户端的用户信息进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第一鉴权值。所述鉴权值计算单元利用人气鉴权算法通过预设的硬件断点处理函数计算出第二鉴权值的具体流程为:将客户端的用户信息与第一鉴权值进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第二鉴权值。
需要说明的是:上述实施例提供的系统在实现计算直播间人气时,仅以上述各功能模块的划分进行举例说明,实际应用中,可根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (8)

1.一种计算直播间人气的方法,其特征在于,该方法包括以下步骤:
客户端利用预设的人气鉴权算法进行鉴权值的计算;计算过程中,该人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值,计算完成后触发预设的硬件断点功能,通过预设的硬件断点处理函数计算出第二鉴权值,所述第二鉴权值为最终计算的鉴权值;
客户端将计算好的鉴权值经加密后上报至直播平台服务器;
直播平台服务器经解密得到客户端上报的鉴权值后,使用与该客户端相同的算法计算出鉴权值,并将计算出的鉴权值与客户端上报的鉴权值进行比对,若一致,则将该客户端的人气计算到其所观看的直播间人气中;
所述硬件断点功能的预设包括以下操作:
提升客户端进程的权限,使其可以设置硬件断点功能;
将预先编写好的硬件断点处理函数进行注册,使得当硬件断点功能触发时,系统会调用注册的硬件断点处理函数;
对硬件断点的触发地址进行设置,将其设置为所述普通的鉴权值计算算法的结束地址。
2.如权利要求1所述的计算直播间人气的方法,其特征在于,所述普通的鉴权值计算算法计算出第一鉴权值的具体流程为:将客户端的用户信息进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第一鉴权值。
3.如权利要求1所述的计算直播间人气的方法,其特征在于,所述预设的硬件断点处理函数计算出第二鉴权值的具体流程为:将客户端的用户信息与第一鉴权值进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第二鉴权值。
4.一种存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现上述权利要求1至3中任一项所述方法的步骤。
5.一种计算直播间人气的设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现上述权利要求1至3中任一项所述方法的步骤。
6.一种计算直播间人气的系统,其特征在于:该系统包括设置于客户端的鉴权值计算单元、鉴权值上报单元;以及设置于直播平台服务器的鉴权值校验单元;
所述鉴权值计算单元用于:利用预设的人气鉴权算法进行鉴权值的计算;计算过程中,该人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值,计算完成后触发预设的硬件断点功能,通过预设的硬件断点处理函数计算出第二鉴权值,所述第二鉴权值为最终计算的鉴权值;
所述鉴权值上报单元用于:将所述鉴权值计算单元计算好的鉴权值经加密后上报至直播平台服务器;
所述鉴权值校验单元用于:对客户端上报的信息进行解密,得到客户端上报的鉴权值;使用与客户端相同的算法计算出鉴权值,并将计算出的鉴权值与客户端上报的鉴权值进行比对,若一致,则将该客户端的人气计算到其所观看的直播间人气中;
该系统还包括设置于客户端的硬件断点功能预设单元,该硬件断点功能预设单元用于:提升客户端进程的权限,使其可以设置硬件断点功能;将预先编写好的硬件断点处理函数进行注册,使得当硬件断点功能触发时,系统会调用注册的硬件断点处理函数;对硬件断点的触发地址进行设置,将其设置为所述普通的鉴权值计算算法的结束地址。
7.如权利要求6所述的计算直播间人气的系统,其特征在于:所述鉴权值计算单元利用人气鉴权算法调用普通的鉴权值计算算法计算出第一鉴权值的具体流程为:将客户端的用户信息进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第一鉴权值。
8.如权利要求6所述的计算直播间人气的系统,其特征在于:所述鉴权值计算单元利用人气鉴权算法通过预设的硬件断点处理函数计算出第二鉴权值的具体流程为:将客户端的用户信息与第一鉴权值进行拼接,形成计算参数;对该计算参数进行MD5值的计算,得到第二鉴权值。
CN201810017883.5A 2018-01-09 2018-01-09 一种计算直播间人气的方法、存储介质、设备及系统 Active CN108307246B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810017883.5A CN108307246B (zh) 2018-01-09 2018-01-09 一种计算直播间人气的方法、存储介质、设备及系统
PCT/CN2018/081294 WO2019136847A1 (zh) 2018-01-09 2018-03-30 一种计算直播间人气的方法、存储介质、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810017883.5A CN108307246B (zh) 2018-01-09 2018-01-09 一种计算直播间人气的方法、存储介质、设备及系统

Publications (2)

Publication Number Publication Date
CN108307246A CN108307246A (zh) 2018-07-20
CN108307246B true CN108307246B (zh) 2020-02-07

Family

ID=62868826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810017883.5A Active CN108307246B (zh) 2018-01-09 2018-01-09 一种计算直播间人气的方法、存储介质、设备及系统

Country Status (2)

Country Link
CN (1) CN108307246B (zh)
WO (1) WO2019136847A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145533B (zh) * 2018-09-30 2021-11-26 武汉斗鱼网络科技有限公司 一种使用随机密码保护代码的方法及装置
CN109768978B (zh) * 2019-01-16 2021-05-25 武汉斗鱼鱼乐网络科技有限公司 一种混淆数据的方法及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107094261A (zh) * 2017-03-17 2017-08-25 武汉斗鱼网络科技有限公司 视频播放的权限校验方法及装置
CN107135408A (zh) * 2017-03-31 2017-09-05 武汉斗鱼网络科技有限公司 一种视频流地址的鉴权方法及装置
CN107333151A (zh) * 2017-06-30 2017-11-07 武汉斗鱼网络科技有限公司 一种视频流地址鉴权方法及装置
CN107454441A (zh) * 2017-06-30 2017-12-08 武汉斗鱼网络科技有限公司 一种检测直播间刷人气行为的方法、及直播平台服务器
CN107465660A (zh) * 2017-06-30 2017-12-12 武汉斗鱼网络科技有限公司 一种视频流地址鉴权方法及装置
CN107516547A (zh) * 2016-06-16 2017-12-26 中兴通讯股份有限公司 内存硬错误的处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3611100A (en) * 1999-03-12 2000-10-04 Netratings, Inc. Method and apparatus for measuring user access to image data
JP4766487B2 (ja) * 2006-09-08 2011-09-07 株式会社ソニー・コンピュータエンタテインメント プログラム改ざん検出装置
CN104639394B (zh) * 2015-01-05 2017-12-29 广州酷狗计算机科技有限公司 客户端使用人数的统计方法、装置和系统
CN105959728B (zh) * 2016-06-27 2019-06-21 武汉斗鱼网络科技有限公司 统计直播平台在线人数的系统及其方法
CN105959729A (zh) * 2016-06-29 2016-09-21 武汉斗鱼网络科技有限公司 一种统计直播平台在线用户人数的方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107516547A (zh) * 2016-06-16 2017-12-26 中兴通讯股份有限公司 内存硬错误的处理方法及装置
CN107094261A (zh) * 2017-03-17 2017-08-25 武汉斗鱼网络科技有限公司 视频播放的权限校验方法及装置
CN107135408A (zh) * 2017-03-31 2017-09-05 武汉斗鱼网络科技有限公司 一种视频流地址的鉴权方法及装置
CN107333151A (zh) * 2017-06-30 2017-11-07 武汉斗鱼网络科技有限公司 一种视频流地址鉴权方法及装置
CN107454441A (zh) * 2017-06-30 2017-12-08 武汉斗鱼网络科技有限公司 一种检测直播间刷人气行为的方法、及直播平台服务器
CN107465660A (zh) * 2017-06-30 2017-12-12 武汉斗鱼网络科技有限公司 一种视频流地址鉴权方法及装置

Also Published As

Publication number Publication date
CN108307246A (zh) 2018-07-20
WO2019136847A1 (zh) 2019-07-18

Similar Documents

Publication Publication Date Title
CN110233817B (zh) 一种基于云计算的容器安全系统
JP2018501567A (ja) 装置検証方法及び機器
CN113411638A (zh) 视频文件的播放处理方法、装置、电子设备及存储介质
WO2019001083A1 (zh) 一种视频流地址鉴权方法及装置
US20180227288A1 (en) Password security
CN106101133A (zh) 一种流媒体防盗链的方法及系统
CN113395406B (zh) 一种基于电力设备指纹的加密认证方法及系统
WO2022216625A1 (en) Enhanced asset management using an electronic ledger
CN106992859B (zh) 一种堡垒机私钥管理方法及装置
CN107862198A (zh) 一种访问验证方法、系统及客户端
WO2021137769A1 (en) Method and apparatus for sending and verifying request, and device thereof
CN108307246B (zh) 一种计算直播间人气的方法、存储介质、设备及系统
CN108184146B (zh) 一种计算直播平台人气的方法及相关设备
CN108769749B (zh) 一种确定盗刷数据的方法、客户端及服务器
WO2019001084A1 (zh) 一种视频流地址鉴权方法及装置
CN114244503B (zh) 一种密码设备性能测试方法
CN106295384B (zh) 一种大数据平台访问控制方法、装置和认证服务器
CN108206961B (zh) 一种计算直播平台人气的方法及相关设备
WO2019136838A1 (zh) 一种防止视频流被盗用的方法、存储介质、设备及系统
CN114095228A (zh) 基于区块链和边缘计算的物联网数据安全存取方法、系统、装置及存储介质
CN108491734A (zh) 一种计算机软件在线调试方法
CN107276967B (zh) 一种分布式系统及其登录验证方法
CN111090616A (zh) 一种文件管理方法、对应装置、设备及存储介质
CN109145533B (zh) 一种使用随机密码保护代码的方法及装置
CN115795509A (zh) 弱口令事件的处理方法和装置、处理器及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant