CN108200058A - 聊天加密方法、装置、电子终端及可读存储介质 - Google Patents

聊天加密方法、装置、电子终端及可读存储介质 Download PDF

Info

Publication number
CN108200058A
CN108200058A CN201810001257.7A CN201810001257A CN108200058A CN 108200058 A CN108200058 A CN 108200058A CN 201810001257 A CN201810001257 A CN 201810001257A CN 108200058 A CN108200058 A CN 108200058A
Authority
CN
China
Prior art keywords
encryption
function
chat
chat content
forgery
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.)
Granted
Application number
CN201810001257.7A
Other languages
English (en)
Other versions
CN108200058B (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 CN201810001257.7A priority Critical patent/CN108200058B/zh
Priority to PCT/CN2018/081391 priority patent/WO2019134278A1/zh
Publication of CN108200058A publication Critical patent/CN108200058A/zh
Application granted granted Critical
Publication of CN108200058B publication Critical patent/CN108200058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种聊天加密方法、装置、电子终端及可读存储介质。所述聊天加密方法包括:通过动态调试即时通信应用程序的进程,查找所述即时通信应用程序对聊天内容的打包流程点;将该打包流程点后执行的原始加密函数的地址替换为预设的伪造加密函数的地址,所述伪造加密函数包括所述原始加密函数及二次加密函数;使用所述伪造加密函数对待发送的聊天内容进行两次加密得到目标加密聊天内容。

Description

聊天加密方法、装置、电子终端及可读存储介质
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种聊天加密方法、装置、电子终端及可读存储介质。
背景技术
目前,即时通信应用程序已经覆盖了大部分的上网用户。不管是哪种聊天服务器都会进行聊天内容的中转与保存,也就是说,聊天服务器可以获取到所有的聊天内容。虽然聊天内容聊天软件都会进行加密传输,但是由于电子终端使用的加密方式是即时通信应用程序携带的加密方式,服务器中存储有对应的解密方式,因此聊天服务器可以对聊天内容进行解密。因此聊天服务器总是可以获取到明文的聊天内容。然而一些要求更高的用户可能会希望即使是聊天服务器也没办法获取到明文的聊天内容。
发明内容
有鉴于此,本发明实施例的目的在于提供一种聊天加密方法、装置、电子终端及可读存储介质。
本发明实施例提供的一种聊天加密方法,应用于电子终端,所述电子终端与服务器通信连接,所述电子终端中安装有即时通信应用程序,所述聊天加密方法包括:
通过动态调试即时通信应用程序的进程,查找所述即时通信应用程序对聊天内容的打包流程点;
将该打包流程点后执行的原始加密函数的地址替换为预设的伪造加密函数的地址,所述伪造加密函数包括所述原始加密函数及二次加密函数;
使用所述伪造加密函数对待发送的聊天内容进行两次加密得到目标加密聊天内容。
本发明实施例还提供一种聊天加密装置,应用于电子终端,所述电子终端与服务器通信连接,所述电子终端中安装有即时通信应用程序,所述聊天加密装置包括:
查找模块,用于通过动态调试即时通信应用程序的进程,查找所述即时通信应用程序对聊天内容的打包流程点;
替换模块,用于将该打包流程点后执行的原始加密函数的地址替换为预设的伪造加密函数的地址,所述伪造加密函数包括所述原始加密函数及二次加密函数;
加密模块,用于使用所述伪造加密函数对待发送的聊天内容进行两次加密得到目标加密聊天内容。
本发明实施例还提供一种电子终端,包括:
存储器;
处理器;
上述的聊天加密装置,该实时动画显示装置存储于所述存储器并由所述处理器控制执行。
本发明实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述的聊天加密方法。
与现有技术相比,本发明实施例的聊天加密方法、装置、电子终端及可读存储介质。通过将即时通信应用程序的原始加密函数替换为有包含有原始加密函数及二次加密函数的伪造加密函数,以对聊天内容进行双重加密可以使用聊天内容更加安全。另外,通过两次加密可以使服务器也不能获取明文的聊天内容,进一步地确保了聊天内容可以仅仅能够使目标用户可以查看,提高聊天内容的安全性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的电子终端的方框示意图。
图2为本发明较佳实施例提供的聊天加密方法的流程图。
图3为本发明较佳实施例提供的聊天加密方法的步骤S103的详细流程图。
图4为本发明较佳实施例提供的聊天加密方法的步骤S103的另一详细流程图。
图5为本发明另一较佳实施例提供的聊天加密方法的流程图。
图6为本发明较佳实施例提供的聊天加密装置的功能模块示意图。
图7为本发明较佳实施例提供的聊天加密装置的加密模块的详细模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是所述电子终端100的方框示意图。所述电子终端100包括聊天加密装置110、存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115、显示单元116。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对电子终端100的结构造成限定。例如,电子终端100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
本实施例中,所述电子终端100中安装有即时通信应用程序。所述即时通信应用程序用于接收或发送聊天内容。所述电子终端100可以与一聊天服务器通信连接,以进行数据通信或交互。所述电子终端100可以向所述聊天服务器发送聊天内容,所述电子终端100还可以接收所述聊天服务器发送的聊天内容。
所述存储器111、存储控制器112、处理器113、外设接口114、输入输出单元115及显示单元116各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述聊天加密装置110包括至少一个可以软件或固件(Firmware)的形式存储于所述存储器111中或固化在所述电子终端100的操作系统(Operating System,OS)中的软件功能模块。所述处理器113用于执行存储器中存储的可执行模块,例如所述聊天加密装置110包括的软件功能模块或计算机程序。
其中,所述存储器111可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的过程定义的电子终端100所执行的方法可以应用于处理器113中,或者由处理器113实现。
所述处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口114将各种输入/输入装置耦合至处理器113以及存储器111。在一些实施例中,外设接口114,处理器113以及存储控制器112可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
所述输入输出单元115用于提供给用户输入数据。所述输入输出单元115可以是,但不限于,鼠标和键盘等。
所述显示单元116在所述电子终端100与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
请参阅图2,是本发明较佳实施例提供的应用于图1所示的电子终端的聊天加密方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤S101,通过动态调试即时通信应用程序的进程,查找所述即时通信应用程序对聊天内容的打包流程点。
本实施例中,每个即时通信应用程序版本仅需要查找一次,再次启动使用即时通信应用程序时,不需要进一步地查找所述打包流程点。进一步地,当所述电子终端更新了所述即时通信应用程序的版本时,需要再次执行步骤S101以查找所述打包流程点。
在一种实施方式中,可以通过反汇编分析所述即时通信应用程序的聊天进程,以查找到具体的某功能函数会将电子终端接收到的明文聊天内容打包后进行加密再通过网络编程接口发送给聊天服务器。
在一个实例中,可以通过Windows提供的动态调试工具WinDbg动态调试所述即时通信应用程序的进程,以查找所述即时通信应用程序中是哪个功能函数和聊天内容相关。通过逆向分析以及在内存中搜索聊天内容可以查找到聊天内容的打包流程点。进一步地,在此处也可以获取到聊天内容被加密发送前的明文信息。具体实现如下:
例如,通过动态调试工具WinDbg找到的加密函数是:
Int Encrypt(char*pContent,int nLen);
其中,参数char*pContent表示明文的聊天内容;参数int nLen表示明文的聊天内容的长度。
通过函数Encrypt加密完成后的聊天内容,再通过编程接口Socket发送给服务器,具体发送函数是:
Void SendData(char*pData,int nLen);
其中,参数char*pData表示发送的内容,即是上面步骤聊天内容加密后的聊天内容;参数int nLen表示发送的内容的长度。
步骤S102,将该打包流程点后执行的原始加密函数的地址替换为预设的伪造加密函数的地址。
本实施例中,所述伪造加密函数包括所述原始加密函数及二次加密函数。
在一种实施方式中,所述步骤S102仅需要在启动所述即时通信应用程序时执行。当然,在其它实施方式中,步骤S102也可以在每次发送聊天内容时执行。
在一个实例中,可以使用Detours库将所述伪造加密函数HOOK在所述打包流程点后的将聊天内容进行加密发送的流程点,从而可以获取明文的聊天内容。其中,所述Detours库是一套函数功能库,用于对程序进行HOOK。
首先,在一个实例中,所述即时通信应用程序的聊天内容可以通过函数Encrypt进行加密,那么通过HOOK此函数则可以获取到所述即时通信应用程序产生的明文聊天内容。
首先,所述电子终端可预先存储或下载伪造加密函数MyEncrypt函数。再通过Hook工具将原始加密函数Encrypt函数替换成伪造加密函数MyEncrypt函数。
具体实现如下:
所述伪造加密函数MyEncrypt可以是:
Int MyEncrypt(char*pContent,int nLen);
其中,参数char*pContent表示明文的聊天内容;参数int nLen表示明文的聊天内容的长度。
本实例中,通过调用Detours库的功能函数对原始加密函数Encrypt进行替换。
DetourAttach(&(PVOID&)Encrypt,MyEncrypt);
其中,DetourAttach表示Detours库提供的功能函数HOOK;参数&(PVOID&)Encrypt表示需要HOOK的函数地址,也就是原始加密函数的地址;参数MyEncrypt表示HOOK后替换的函数地址,也就是伪造加密函数的地址。
在一种实施方式中,所述二次加密函数是可以使用对称加密算法实现对聊天内容的加密,通过使用对称加密算法可以加密和解密使用同样的KEY。
在一个实例中,所述二次加密函数可以是DES加密算法来对聊天内容进行二次加密。所述二次加密函数可以通过以下方式实现:
Void DES.Encrypt(char*pContent,int nLen,char*pKEY);
其中,接口DES.Encrypt,用于提供对聊天内容进行加密;参数char*pContent表示加密的内容;参数int nLen表示加密的内容的长度;参数char*pKEY表示用户设置的加密的KEY值。本实例中,此加密KEY值也是解密的KEY值。
本实施例中,加密的KEY值可以是由用户输入的,可以是自动生成的。本领域的技术人员可以根据需求设置所述加密的KEY值的生成方式。
步骤S103,使用所述伪造加密函数对待发送的聊天内容进行两次加密得到目标加密聊天内容。
本实施例中的替换操作后,所述即时通信应用程序对聊天内容进行加密时,会调用替换后的MyEncrypt函数而不会调用即时通信应用程序的原始的Encrypt函数。
本实施例中,所述伪造加密函数除了可以使用原始加密函数进行加密还能使用二次加密函数对聊天内容进行加密,从而实现对聊天内容进行二次加密。
在一个实例中,所述伪造加密函数可以通过以下方式实现:
首先,调用函数DES.Encrypt对聊天内容进行加密;然后,调用即时通信应用程序的原始加密函数Encrypt加密上述加密后的聊天内容。
从而实现了在即时通信应用程序进行加密前,先使用了自设置的加密函数对聊天内容进行加密,加密后再将加密的内容使用即时通信应用程序的原始加密函数进行加密。
在另一个实例中,所述伪造加密函数可以通过以下方式实现:
首先,调用即时通信应用程序的原始加密函数Encrypt对聊天内容进行加密;然后,调用函数DES.Encrypt对加密后的聊天内容进行加密。
因此,如果聊天内容的接收方没有预先设置的解密插件则收到的也是加密后的聊天内容,则不能够显示的明文聊天内容。
本实施例中,如图3所示,所述步骤S103包括:步骤S1031及步骤S1032。
步骤S1031,将预设的加密密码作为所述二次加密函数的参数对所述待发送的聊天内容进行加密以得到所述初始加密聊天内容。
步骤S1032,使用所述伪造加密函数中的原始加密函数对所述初始加密聊天内容进行第一次加密得到目标加密聊天内容。
进一步地,所述电子终端可以将所述目标加密聊天内容发送给聊天服务器,以使聊天服务器将所述目标加密聊天内容发送给对应的接收终端。
本实施例中,如图4所示,所述步骤S103包括:步骤S1033及步骤S1034。
步骤S1033,调用WindowsAPI函数的CreateRemoteThread函数在所述即时通信应用程序的进程中创建一个加密线程,所述加密线程用于调用WindowsAPI函数LoadLibrary加载所述伪造加密函数的地址。
步骤S1034,执行所述伪造加密函数以对所述待发送的聊天内容进行两次加密得到所述目标加密聊天内容。
在一个实例中,首先,可以通过WindowsAPI函数VirtualAllocEx函数在即时通信应用程序的进程的内存空间中分配内存。再次,通过WindowsAPI函数WriteProcessMemory来将所述伪造加密函数的磁盘路径写入到已经分配的内存中。最后,调用WindowsAPI函数CreateRemoteThread函数来在即时通信应用程序的进程中创建一个加密线程,所述加密线程用于用于调用WindowsAPI函数LoadLibrary加载所述伪造加密函数的地址。这样就实现了在目标进程开启一个线程,通过线程来加载一个模块,实现了在即时通信应用程序的进程注入所述伪造加密函数。本实施例中,分配空间和在空间中写入伪造加密函数的磁盘路径仅需要执行一次,执行成功后,则可以直接通过启动一线程来实现加载所述伪造加密函数的地址,以实现加密。
如图5所示,所述方法还包括:步骤S104,接收到聊天内容后,使用替换原始解密函数的伪造解密函数对所述聊天内容进行解密后显示。
本实施例中,所述伪造解密函数通过以下方式插入执行:通过动态调试即时通信应用程序进程,以查找即时通信应用程序对聊天内容的解包流程点;将该解包流程点后执行的原始解密函数的地址替换为预设的伪造解密函数的地址,所述伪造解密函数包括所述原始解密函数及二次解密函数。
在一种实施方式中,可以通过去反汇编分析所述即时通信应用程序的聊天进程,以查找到具体的某功能函数会接收聊天,然后进行解密。
在一个实例中,可以通过Windows提供的动态调试工具WinDbg动态调试所述即时通信应用程序的进程,以查找所述即时通信应用程序中是哪个功能函数和聊天内容相关。通过逆向分析以及在内存中搜索聊天内容则可以查找到聊天内容的解包流程点。
例如,通过动态调试工具WinDbg找到的解密函数是:
Int Decrypt(char*pContent,int nLen);
其中,参数char*pContent表示加密的聊天内容;参数int nLen表示加密的聊天内容的长度。
解密完成后,所述电子终端会通过聊天框显示聊天内容。
本实施例中的方法,将所述原始解密函数Decrypt替换为伪造解密函数MYDecrypt。
在一个实例中,所述伪造解密函数MYDecrypt可以是:
所述伪造解密函数MYDecrypt包括原始解密函数和二次解密函数。本实例中,首先调用即时通信应用程序的原始解密函数来对聊天内容进行解密。然后再调用二次解密函数DES.Decrypt对上述解密的内容再次解密,从而得到聊天内容的明文信息。
在另一个实例中,所述伪造解密函数MYDecrypt可以是:
所述伪造解密函数MYDecrypt包括原始解密函数和二次解密函数。本实例中,首先调用二次解密函数DES.Decrypt对聊天内容进行解密,然后再调用即时通信应用程序的原始解密函数对上述解密的内容再次解密。从而得到聊天内容的明文信息。
在一个实例中,二次解密函数可以通过以下方式实现:
Void DES.Decrypt(char*pContent,int nLen,char*pKEY);
其中,接口DES.Decrypt用于提供对聊天内容进行解密;参数char*pContent表示解密的内容;参数int nLen表示解密的内容的长度;参数char*pKEY表示用户设置的解密的KEY值。同时此解密KEY值也是加密的KEY值。
本发明实施例的聊天加密方法。通过将即时通信应用程序的原始加密函数替换为有包含有原始加密函数及二次加密函数的伪造加密函数,以对聊天内容进行双重加密可以使用聊天内容更加安全。另外,通过两次加密可以使服务器也不能获取明文的聊天内容,进一步地确保了聊天内容可以仅仅能够使目标用户可以查看,提高聊天内容的安全性。
请参阅图6,是本发明较佳实施例提供的图1所示的聊天加密装置110的功能模块示意图。本实施例中的聊天加密装置110中的各个模块及单元用于执行上述方法实施例中的各个步骤。所述聊天加密装置110包括:查找模块1101、替换模块1102以及加密模块1103。
所述查找模块1101,用于通过动态调试即时通信应用程序的进程,查找所述即时通信应用程序对聊天内容的打包流程点。
所述替换模块1102,用于将该打包流程点后执行的原始加密函数的地址替换为预设的伪造加密函数的地址,所述伪造加密函数包括所述原始加密函数及二次加密函数。
所述加密模块1103,用于使用所述伪造加密函数对待发送的聊天内容进行两次加密得到目标加密聊天内容。
本实施例中,所述加密模块1103用于将预设的加密密码作为所述二次加密函数的参数对所述待发送的聊天内容进行加密以得到所述初始加密聊天内容;还用于使用所述伪造加密函数中的原始加密函数对所述初始加密聊天内容进行第一次加密得到目标加密聊天内容。
本实施例中,如图7所示,所述加密模块1103包括:线程创建单元11031及加密执行单元11032。
所述线程创建单元11031,用于调用WindowsAPI函数的CreateRemoteThread函数在所述即时通信应用程序的进程中创建一个加密线程,所述加密线程用于调用WindowsAPI函数LoadLibrary加载所述伪造加密函数的地址。
所述加密执行单元11032,用于执行所述伪造加密函数以对所述待发送的聊天内容进行两次加密得到所述目标加密聊天内容。
本实施例中,请再次参阅图6,所述聊天加密装置110还包括:解密模块1104,用于接收到聊天内容后,使用替换原始解密函数的伪造解密函数对所述聊天内容进行解密后显示。
本实施例中,所述伪造解密函数通过以下方式插入执行:通过动态调试即时通信应用程序进程,以查找即时通信应用程序对聊天内容的解包流程点;将该解包流程点后执行的原始解密函数的地址替换为预设的伪造解密函数的地址,所述伪造解密函数包括所述原始解密函数及二次解密函数。
关于本实施例的其它细节可以进一步地参考上述方法实施例中的描述,在此不再赘述。
本发明实施例的聊天加密装置。通过将即时通信应用程序的原始加密函数替换为有包含有原始加密函数及二次加密函数的伪造加密函数,以对聊天内容进行双重加密可以使用聊天内容更加安全。另外,通过两次加密可以使服务器也不能获取明文的聊天内容,进一步地确保了聊天内容可以仅仅能够使目标用户可以查看,提高聊天内容的安全性。
本发明实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序在执行时实现上述实施例提供的聊天加密方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种聊天加密方法,其特征在于,应用于电子终端,所述电子终端中安装有即时通信应用程序,所述聊天加密方法包括:
通过动态调试即时通信应用程序的进程,查找所述即时通信应用程序对聊天内容的打包流程点;
将该打包流程点后执行的原始加密函数的地址替换为预设的伪造加密函数的地址,所述伪造加密函数包括所述原始加密函数及二次加密函数;
使用所述伪造加密函数对待发送的聊天内容进行两次加密得到目标加密聊天内容。
2.如权利要求1所述的聊天加密方法,其特征在于,所述使用所述伪造加密函数对聊天内容进行两次加密得到目标加密聊天内容的步骤包括:
将预设的加密密码作为所述二次加密函数的参数对所述待发送的聊天内容进行加密以得到初始加密聊天内容;
使用所述伪造加密函数中的原始加密函数对所述初始加密聊天内容进行第一次加密得到目标加密聊天内容。
3.如权利要求1所述的聊天加密方法,其特征在于,所述使用所述伪造加密函数对聊天内容进行两次加密得到目标加密聊天内容的步骤包括:
调用WindowsAPI函数的CreateRemoteThread函数在所述即时通信应用程序的进程中创建一个加密线程,所述加密线程用于调用WindowsAPI函数LoadLibrary加载所述伪造加密函数的地址;
执行所述伪造加密函数以对所述待发送的聊天内容进行两次加密得到所述目标加密聊天内容。
4.如权利要求1所述的聊天加密方法,其特征在于,所述方法还包括:
接收到聊天内容后,使用替换原始解密函数的伪造解密函数对所述聊天内容进行解密后显示。
5.如权利要求4所述的聊天加密方法,其特征在于,所述伪造解密函数通过以下方式插入执行:
通过动态调试即时通信应用程序进程,以查找即时通信应用程序对聊天内容的解包流程点;
将该解包流程点后执行的原始解密函数的地址替换为预设的伪造解密函数的地址,所述伪造解密函数包括所述原始解密函数及二次解密函数。
6.一种聊天加密装置,其特征在于,应用于电子终端,所述电子终端中安装有即时通信应用程序,所述聊天加密装置包括:
查找模块,用于通过动态调试即时通信应用程序的进程,查找所述即时通信应用程序对聊天内容的打包流程点;
替换模块,用于将该打包流程点后执行的原始加密函数的地址替换为预设的伪造加密函数的地址,所述伪造加密函数包括所述原始加密函数及二次加密函数;
加密模块,用于使用所述伪造加密函数对待发送的聊天内容进行两次加密得到目标加密聊天内容。
7.如权利要求6所述的聊天加密装置,其特征在于,所述加密模块包括:
线程创建单元,用于调用WindowsAPI函数的CreateRemoteThread函数在所述即时通信应用程序的进程中创建一个加密线程,所述加密线程用于调用WindowsAPI函数LoadLibrary加载所述伪造加密函数的地址;
加密执行单元,用于执行所述伪造加密函数以对所述待发送的聊天内容进行两次加密得到所述目标加密聊天内容。
8.如权利要求6所述的聊天加密装置,其特征在于,所述装置还包括:
解密模块,用于接收到聊天内容后,使用替换原始解密函数的伪造解密函数对所述聊天内容进行解密后显示。
9.一种电子终端,其特征在于,包括:
存储器;
处理器;
权利要求6-8任一项所述的聊天加密装置,该聊天加密装置存储于所述存储器并由所述处理器控制执行。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在执行时实现上述权利要求1-5中任意一项所述的聊天加密方法。
CN201810001257.7A 2018-01-02 2018-01-02 聊天加密方法、装置、电子终端及可读存储介质 Active CN108200058B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810001257.7A CN108200058B (zh) 2018-01-02 2018-01-02 聊天加密方法、装置、电子终端及可读存储介质
PCT/CN2018/081391 WO2019134278A1 (zh) 2018-01-02 2018-03-30 聊天加密方法、聊天解密方法、装置、电子终端及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810001257.7A CN108200058B (zh) 2018-01-02 2018-01-02 聊天加密方法、装置、电子终端及可读存储介质

Publications (2)

Publication Number Publication Date
CN108200058A true CN108200058A (zh) 2018-06-22
CN108200058B CN108200058B (zh) 2020-08-04

Family

ID=62587988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810001257.7A Active CN108200058B (zh) 2018-01-02 2018-01-02 聊天加密方法、装置、电子终端及可读存储介质

Country Status (2)

Country Link
CN (1) CN108200058B (zh)
WO (1) WO2019134278A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114124880A (zh) * 2021-11-29 2022-03-01 北京天融信网络安全技术有限公司 基于公有云的保密通信方法、装置及计算机设备及存储介质
US11674047B2 (en) 2019-01-28 2023-06-13 The Chemours Company Fc, Llc Composition for manufacturing passivation layer and passivation layer using the same

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656733A (zh) * 2002-05-23 2005-08-17 皇家飞利浦电子股份有限公司 块密码实现方式中的s-box加密
CN103179128A (zh) * 2013-03-28 2013-06-26 国家电网公司 安卓平台浏览器与网站服务器间的通信安全增强代理系统
CN103441923A (zh) * 2013-08-27 2013-12-11 北京明朝万达科技有限公司 一种基于网络应用软件的安全文件传输方法和装置
CN104009841A (zh) * 2014-06-20 2014-08-27 天津理工大学 一种即时通信情境下的消息加密方法
EP1710953A4 (en) * 2004-01-14 2014-09-24 Nec Corp COMMUNICATION AND ENCRYPTION SYSTEM
CN105208041A (zh) * 2015-10-15 2015-12-30 厦门大学 基于hook的云存储应用加密数据包破解方法
CN106411719A (zh) * 2016-11-22 2017-02-15 北京奇虎科技有限公司 一种用于对即时消息进行处理的方法及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102625297B (zh) * 2011-01-27 2016-01-13 腾讯科技(深圳)有限公司 用于移动终端的身份管理方法及装置
US10812429B2 (en) * 2015-04-03 2020-10-20 Glu Mobile Inc. Systems and methods for message communication
US10140600B2 (en) * 2015-07-01 2018-11-27 Liveensure, Inc. System and method for mobile peer authentication and asset control

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1656733A (zh) * 2002-05-23 2005-08-17 皇家飞利浦电子股份有限公司 块密码实现方式中的s-box加密
EP1710953A4 (en) * 2004-01-14 2014-09-24 Nec Corp COMMUNICATION AND ENCRYPTION SYSTEM
CN103179128A (zh) * 2013-03-28 2013-06-26 国家电网公司 安卓平台浏览器与网站服务器间的通信安全增强代理系统
CN103441923A (zh) * 2013-08-27 2013-12-11 北京明朝万达科技有限公司 一种基于网络应用软件的安全文件传输方法和装置
CN104009841A (zh) * 2014-06-20 2014-08-27 天津理工大学 一种即时通信情境下的消息加密方法
CN105208041A (zh) * 2015-10-15 2015-12-30 厦门大学 基于hook的云存储应用加密数据包破解方法
CN106411719A (zh) * 2016-11-22 2017-02-15 北京奇虎科技有限公司 一种用于对即时消息进行处理的方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张帆: "移动智能终端安全即时通信方法", 《计算机应用》 *
李昊: ""基于XMPP协议的Android即时通信软件的设计与实现"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11674047B2 (en) 2019-01-28 2023-06-13 The Chemours Company Fc, Llc Composition for manufacturing passivation layer and passivation layer using the same
CN114124880A (zh) * 2021-11-29 2022-03-01 北京天融信网络安全技术有限公司 基于公有云的保密通信方法、装置及计算机设备及存储介质
CN114124880B (zh) * 2021-11-29 2023-07-18 北京天融信网络安全技术有限公司 基于公有云的保密通信方法、装置及计算机设备及存储介质

Also Published As

Publication number Publication date
WO2019134278A1 (zh) 2019-07-11
CN108200058B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
JP6626095B2 (ja) 機密情報処理方法、装置、及び、サーバ、ならびに、セキュリティ決定システム
US9430211B2 (en) System and method for sharing information in a private ecosystem
CN111783124B (zh) 基于隐私保护的数据处理方法、装置和服务器
US20030163717A1 (en) Memory card
CN107612683B (zh) 一种加解密方法、装置、系统、设备和存储介质
CN103294961A (zh) 一种文件加/解密方法以及文件加/解密装置
US10630722B2 (en) System and method for sharing information in a private ecosystem
CN110933063B (zh) 数据加密方法、数据解密方法及设备
CN110855433B (zh) 基于加密算法的数据加密方法、装置及计算机设备
CN108134673B (zh) 一种生成白盒库文件的方法及装置
CN108183796A (zh) 利用白盒库文件和白盒密钥文件进行加解密的方法及装置
US8423771B2 (en) Information processing apparatus and method, setting apparatus and method, and program
CN107196907A (zh) 一种安卓so文件的保护方法及装置
CN108718313A (zh) 应用软件数据安全使用方法、终端设备及服务器
CN107483432A (zh) 文件加密处理方法及装置
CN109687966A (zh) 加密方法及其系统
CN111241532A (zh) 基于跳板机的主机登录方法、装置、设备及存储介质
CN108111622A (zh) 一种下载白盒库文件的方法、装置及系统
CN110221990A (zh) 数据的存储方法及装置、存储介质、计算机设备
CN108200058A (zh) 聊天加密方法、装置、电子终端及可读存储介质
CN114416773B (zh) 数据处理方法、装置、存储介质和服务器
JP2012043242A (ja) 暗号化文書生成装置及び暗号化文書生成プログラム
CN104657631B (zh) 应用的渠道信息的处理方法及装置
CN114692121A (zh) 信息获取方法及相关产品
CN113179161B (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