CN106650355B - Method and device for protecting function call - Google Patents

Method and device for protecting function call Download PDF

Info

Publication number
CN106650355B
CN106650355B CN201611119489.XA CN201611119489A CN106650355B CN 106650355 B CN106650355 B CN 106650355B CN 201611119489 A CN201611119489 A CN 201611119489A CN 106650355 B CN106650355 B CN 106650355B
Authority
CN
China
Prior art keywords
function
information
caller
calling
call
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
CN201611119489.XA
Other languages
Chinese (zh)
Other versions
CN106650355A (en
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 CN201611119489.XA priority Critical patent/CN106650355B/en
Publication of CN106650355A publication Critical patent/CN106650355A/en
Application granted granted Critical
Publication of CN106650355B publication Critical patent/CN106650355B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour

Abstract

The invention provides a method and a device for protecting function call, wherein the method comprises the following steps: detecting caller information of the function; judging whether the caller is a normal user or not based on the caller information, and if not, disconnecting the call; therefore, before the function is called, whether the caller is a normal user or not is judged according to the caller information, if not, the calling process is cut off, so that the condition of illegally calling the function is avoided, and the safety of data is improved.

Description

Method and device for protecting function call
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method and an apparatus for protecting function calls.
Background
At present, for Android application program development, most Android application developers can write important functions by using a C language or a C + + language, so that the safety of the program can be obviously improved.
For the HACK, it can be analyzed through a reverse method that the Android application program decrypts the encrypted data through the function in the called dynamic library SO file, and once the analysis clearly shows that the decryption function is called, the HACK can also simulate the normal Android program, and the plaintext data is obtained by calling the decryption function, SO that the security is reduced.
Disclosure of Invention
Aiming at the problems in the prior art, the embodiment of the invention provides a method and a device for protecting function calling, which are used for solving the technical problem that the data security is reduced because the calling method is easy to be broken when a function is called in the prior art.
The invention provides a method for protecting function call, which comprises the following steps:
detecting caller information of the function;
and judging whether the caller is a normal user or not based on the caller information, and if not, disconnecting the call.
In the foregoing solution, the detecting caller information of the function and determining whether the caller is a normal user includes:
establishing a first global variable and a second global variable;
calculating a first hash value of the first global variable using a hash algorithm before calling the function;
when the function is called, calculating a second hash value of the second global variable by using the hash algorithm;
and judging whether the first hash value is consistent with the second hash value or not, and if not, determining that the caller is not a normal user.
In the foregoing solution, before the establishing the first global variable and the second global variable, the method further includes:
constructing a data structure;
and setting the data structure as the calling parameter type of the function.
In the above scheme, the initial value of the first global variable is the same as the initial value of the second global variable.
In the foregoing solution, the detecting caller information of the function and determining whether the caller is a normal user further includes:
acquiring call chain information of the function;
judging whether the calling chain information is consistent with preset calling chain information or not;
and if the calling chain information is inconsistent with the preset calling chain information, determining that the caller is not a normal user.
In the foregoing scheme, the obtaining call chain information of the function includes:
acquiring a parameter buffer for storing the call chain information memory address;
converting the memory address into function name information by using a conversion function;
acquiring function name information of the function call chain based on the function name information;
and acquiring the calling chain information of the function based on the function name information of the function calling chain.
The invention also provides a device for protecting function call, comprising:
a detecting unit configured to detect caller information of the function;
and the judging unit is used for judging whether the caller is a normal user or not based on the caller information, and if not, disconnecting the call.
In the above scheme, the detection unit is configured to:
establishing a first global variable and a second global variable;
calculating a first hash value of the first global variable using a hash algorithm before calling the function;
when the function is called, calculating a second hash value of the second global variable by using the hash algorithm;
the judgment unit is used for: and judging whether the first hash value is consistent with the second hash value or not, and if not, determining that the caller is not a normal user.
In the above scheme, the apparatus further comprises:
a construction unit for constructing a data structure;
and the setting unit is used for setting the data structure as the calling parameter type of the function.
In the above scheme, the detection unit is further configured to: acquiring call chain information of the function;
the judging unit is further configured to: judging whether the calling chain information is consistent with preset calling chain information or not;
and if the calling chain information is inconsistent with the preset calling chain information, determining that the caller is not a normal user.
The invention provides a method and a device for protecting function call, wherein the method comprises the following steps: detecting caller information of the function; judging whether the caller is a normal user or not based on the caller information, and if not, disconnecting the call; therefore, before the function is called, whether the caller is a normal user or not is judged according to the caller information, if not, the calling process is cut off, so that the condition of illegally calling the function is avoided, and the safety of data is improved.
Drawings
Fig. 1 is a schematic flowchart of a method for protecting function call according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a device for protecting function calls according to a second embodiment of the present invention.
Detailed Description
In order to solve the technical problem that the data security is reduced because a calling method is easy to be cracked when a function is called, the invention provides a method and a device for protecting function calling, wherein the method comprises the following steps: detecting caller information of the function; and judging whether the caller is a normal user or not based on the caller information, and if not, disconnecting the call.
The technical solution of the present invention is further described in detail by the accompanying drawings and the specific embodiments.
Example one
The present embodiment provides a method for protecting a function call, as shown in fig. 1, the method includes:
s101, detecting caller information of the function.
In this step, the function is generally a key function, such as a data decryption function, and when caller information of the function is detected, the function can be detected by two methods, the first method is to detect caller information of the function by setting a global variable; the second method is to detect caller information of a function by detecting call stack information of the function and acquiring call chain information.
Specifically, when caller information of the function is detected by a method of setting a global variable, the method specifically includes: establishing a first global variable1 and a second global variable2 in a dynamic library SO file; the initial values of the first global variable1 and the second global variable2 are the same, and in this embodiment, the initial values of the first global variable1 and the second global variable2 are assigned to 0.
Before the function is called, calculating a first HASH value of the first global variable1 by using a HASH algorithm; specifically, the first HASH value is calculated using a function variable1 ═ HASH (variable 1).
Calculating a second HASH value of the second global variable by using the HASH algorithm when the function is called; specifically, the second HASH value is calculated using a function variable2 ═ HASH (variable 2). Here, the HASH algorithm may include: an MD5 function algorithm, an MD4 function algorithm, or an SHA-1 function algorithm.
Here, in order to make the logic of the function itself more complex and avoid being easily cracked, before the first global variable and the second global variable are established, the method further includes: constructing a data structure; and setting the data structure as a parameter type of the function, where the data structure may be a more complex data structure, such as: class structure, data structure of STL, or list data structure.
In the case of a decryption function, the parameters of the decryption function include: transmitting the parameter of the ciphertext information and the parameter of the plaintext information; then the two parameters can be constructed into a data structure, such as a C + + class structure, because the class structure is more complex than a simple data type passing the parameters. Of course, the data structure of STL may also be used, such as using MAP to store the character string to be decrypted, or list such structure to store the outgoing parameter of the decrypted plaintext information. Wherein the MAP is an association container storing a key value and elements of the mapping value formed in combination.
Thus, the call parameters of the function can be made more complex.
When the caller information of the function is detected by detecting the call stack information of the function and acquiring the call chain information, the method specifically includes:
obtaining a parameter buffer for storing the memory address of the call chain information through a system function int back (void × buffer, int size); the buffer stores the calling address of the upper function and is a memory address;
then, converting the memory address into function name information by using a conversion function charback _ symbols (void _ const _ buffer, int size); acquiring function name information of the function call chain based on the function name information; and uploading the function name information to a server, and the server can acquire the call chain information of the function based on the function name information of the function call chain.
To illustrate the call chain information more clearly, here are illustrated: the function calling chain means that the current function is called from an upper-layer function, and the calling process is the function calling chain; such as: when the function a calls the function B to call the function C, the call chain that can be acquired in the function C is the function C, B, A, so that it can be known that the current function initial call point is the function a.
S102, judging whether the caller is a normal user or not, and if not, disconnecting the call.
In this step, there are two methods to determine whether the caller is a normal user; the first method is as follows: judging whether the caller is a normal user according to the first hash value and the second hash value; the second method is to determine whether the caller is a normal user according to the function call chain information.
Specifically, when determining whether the caller is a normal user according to the first hash value and the second hash value, the method specifically includes: and judging whether the first hash value is consistent with the second hash value, and if the first hash value is inconsistent with the second hash value, determining that the caller is not a normal user. This is because under normal calling procedures, the values of the two variables are always equal, since the initialized values of the two global variables are the same, and the number of times the variables calculate HASH is the same. Therefore, once the first hash value is inconsistent with the second hash value, it can be determined that the caller is not a normal user, at this time, the calling process is disconnected, the first hash value and the second hash value are encrypted by an encryption algorithm and then sent to the server, and after receiving the information, the server marks the caller as an abnormal user.
When judging whether the caller is a normal user according to the function call chain information, the method specifically includes: acquiring call chain information of the function; judging whether the calling chain information is consistent with preset calling chain information or not; and if the calling chain information is inconsistent with the preset calling chain information, determining that the caller is not a normal user.
Here, as described in the above step, after acquiring the function name information, the server may acquire normal function call chain information based on the function name information through a normal client, and if the server determines that the current call chain information is different from preset call chain information (normal call chain information), it may be determined that the caller is not a normal user, and at this time, the call process is disconnected, and the caller is marked as an abnormal user.
For example, there are now three functions FuncA, FuncB, and FuncC; the calling relationship is: FuncB will be called in FuncA, FuncC will be called in FuncB, and then the function call chain information obtained in function C is FuncB- > FuncA.
For an illegal user, FuncC may also be called, so that his function may be FuncX, and the function call chain information acquired in the function C is FuncX. Obviously, the two kinds of function call chain information are inconsistent, and after the server acquires the two kinds of call chain information, the second kind of function call chain information can be determined to be an illegal call, and the caller is marked as an abnormal user.
Example two
Corresponding to the first embodiment, this embodiment further provides an apparatus for protecting a function call, referring to fig. 2, where the apparatus includes: a detection unit 21 and a judgment unit 22; wherein the content of the first and second substances,
the detecting unit 21 is configured to detect caller information of the function;
the determining unit 22 is configured to determine whether the caller is a normal user based on the caller information, and if not, disconnect the call.
In detecting the caller information of the function, the detecting unit 21 may detect by two methods, the first is to detect the caller information of the function by setting a global variable; the second method is to detect caller information of a function by detecting call stack information of the function and acquiring call chain information.
Specifically, when detecting caller information of the function by a method of setting a global variable, the detecting unit 21 specifically includes: establishing a first global variable1 and a second global variable2 in a dynamic library SO file; the initial values of the first global variable1 and the second global variable2 are the same, and in this embodiment, the initial values of the first global variable1 and the second global variable2 are assigned to 0.
Before calling the function, the detection unit 21 calculates a first HASH value of the first global variable vable1 using a HASH algorithm; specifically, the first HASH value is calculated using a function variable1 ═ HASH (variable 1).
Calculating a second HASH value of the second global variable by using the HASH algorithm when the function is called; specifically, the second HASH value is calculated using a function variable2 ═ HASH (variable 2). Here, the HASH algorithm may include: an MD5 function algorithm, an MD4 function algorithm, or an SHA-1 function algorithm.
Here, in order to make the logic of the function itself more complex and avoid being easily cracked, the apparatus further includes: a construction unit 23 and a setting unit 24;
before establishing the first global variable and the second global variable, the constructing unit 23 is configured to construct a data structure; the setting unit 24 is configured to set the data structure as a parameter type of the function, where the data structure may be a more complex data structure, such as: class structure, data structure of STL, or list data structure.
In the case of a decryption function, the parameters of the decryption function include: transmitting the parameter of the ciphertext information and the parameter of the plaintext information; the construction unit 23 can construct these two parameters into a data structure, such as a C + + class structure, because the class structure is more complicated than a simple data type passing parameter. Of course, the data structure of STL may also be used, such as using MAP to store the character string to be decrypted, or list such structure to store the outgoing parameter of the decrypted plaintext information. Wherein the MAP is an association container storing a key value and elements of the mapping value formed in combination.
Thus, the call parameters of the function can be made more complex.
When the caller information of the function is detected by detecting the call stack information of the function and acquiring the call chain information, the method specifically includes:
the detection unit 21 obtains a parameter buffer for storing the memory address of the call chain information through a system function int back (void size); the buffer stores the calling address of the upper function and is a memory address;
then, converting the memory address into function name information by using a conversion function charback _ symbols (void _ const _ buffer, int size); acquiring function name information of the function call chain based on the function name information; and uploading the function name information to a server, and the server can acquire the call chain information of the function based on the function name information of the function call chain.
To illustrate the call chain information more clearly, here are illustrated: the function calling chain means that the current function is called from an upper-layer function, and the calling process is the function calling chain; such as: when the function a calls the function B to call the function C, the call chain that can be acquired in the function C is the function C, B, A, so that it can be known that the current function initial call point is the function a.
After the detection unit 21 obtains the first hash value, the second hash value, and the function call chain information, the determination unit 22 has two methods to determine whether the caller is a normal user; the first method is as follows: judging whether the caller is a normal user according to the first hash value and the second hash value; the second method is to determine whether the caller is a normal user according to the function call chain information.
Specifically, when the determining unit 22 determines whether the caller is a normal user according to the first hash value and the second hash value, the method specifically includes: and judging whether the first hash value is consistent with the second hash value, and if the first hash value is inconsistent with the second hash value, determining that the caller is not a normal user. This is because under normal calling procedures, the values of the two variables are always equal, since the initialized values of the two global variables are the same, and the number of times the variables calculate HASH is the same. Therefore, once the first hash value is inconsistent with the second hash value, it can be determined that the caller is not a normal user, at this time, the calling process is disconnected, the first hash value and the second hash value are encrypted by an encryption algorithm and then sent to the server, and after receiving the information, the server marks the caller as an abnormal user.
When the determining unit 22 determines whether the caller is a normal user according to the function call chain information, the method specifically includes: acquiring call chain information of the function; judging whether the calling chain information is consistent with preset calling chain information or not; and if the calling chain information is inconsistent with the preset calling chain information, determining that the caller is not a normal user.
Here, as described above, after acquiring the function name information, the server may acquire normal function call chain information based on the function name information through a normal client, and if the server determines that the current call chain information is different from preset call chain information (normal call chain information), it may be determined that the caller is not a normal user, and at this time, the call process is disconnected, and the caller is marked as an abnormal user.
For example, there are now three functions FuncA, FuncB, and FuncC; the calling relationship is: FuncB will be called in FuncA, FuncC will be called in FuncB, and then the function call chain information obtained in function C is FuncB- > FuncA.
For an illegal user, FuncC may also be called, so that his function may be FuncX, and the function call chain information acquired in the function C is FuncX. Obviously, the two kinds of function call chain information are inconsistent, and after the server acquires the two kinds of call chain information, the second kind of function call chain information can be determined to be an illegal call, and the caller is marked as an abnormal user.
The beneficial effects brought by one or more embodiments provided by the invention are as follows:
the invention provides a method and a device for protecting function call, wherein the method comprises the following steps: detecting caller information of the function; judging whether the caller is a normal user or not based on the caller information, and if not, disconnecting the call; therefore, before the function is called, whether the caller is a normal user is judged according to the caller information, and if not, the calling process is disconnected; when judging whether the caller is a normal user, the method can detect the caller information of the function by two methods, wherein the first method is to detect the caller information of the function by setting a global variable; the second method is that the caller information of the function is detected by detecting the call stack information of the function and acquiring the call chain information; the invention can carry out double detection to avoid the condition of illegally calling the function, thereby improving the safety of data, and the invention also increases the complexity of the function and further improves the difficulty of deciphering.
The above description is only exemplary of the present invention and should not be taken as limiting the scope of the present invention, and any modifications, equivalents, improvements, etc. that are within the spirit and principle of the present invention should be included in the present invention.

Claims (5)

1. A method of protecting function calls, the method comprising:
detecting caller information of the function; wherein the step of detecting comprises: establishing a first global variable and a second global variable; calculating a first hash value of the first global variable using a hash algorithm before calling the function; when the function is called, calculating a second hash value of the second global variable by using the hash algorithm;
judging whether the caller is a normal user or not based on the caller information, and if not, disconnecting the call, wherein the judging step comprises the following steps: judging whether the first hash value is consistent with the second hash value or not, and if not, determining that the caller is not a normal user;
the detecting the caller information of the function, and judging whether the caller is a normal user, further includes: acquiring the call chain information of the function, wherein the call chain information of the function refers to that the current function is called from an upper-layer function; judging whether the calling chain information is consistent with preset calling chain information or not; if the calling chain information is inconsistent with the preset calling chain information, determining that the caller is not a normal user; the obtaining of the call chain information of the function includes:
acquiring a parameter buffer for storing the call chain information memory address; converting the memory address into function name information by using a conversion function; acquiring function name information of the function call chain based on the function name information; and acquiring the calling chain information of the function based on the function name information of the function calling chain.
2. The method of claim 1, wherein prior to establishing the first global variable and the second global variable, the method further comprises:
constructing a data structure;
and setting the data structure as the calling parameter type of the function.
3. The method of claim 1, wherein the initial value of the first global variable is the same as the initial value of the second global variable.
4. An apparatus for protecting function calls, the apparatus comprising:
a detecting unit configured to detect caller information of the function; the detection unit is further configured to:
establishing a first global variable and a second global variable; calculating a first hash value of the first global variable using a hash algorithm before calling the function; when the function is called, calculating a second hash value of the second global variable by using the hash algorithm;
a judging unit, configured to judge whether the caller is a normal user based on the caller information, and if not, disconnect the call; the judgment unit is specifically configured to: judging whether the first hash value is consistent with the second hash value or not, and if not, determining that the caller is not a normal user;
the detection unit is further configured to: acquiring call chain information of the function; judging whether the calling chain information is consistent with preset calling chain information or not; the judging unit is further configured to: if the calling chain information is inconsistent with the preset calling chain information, determining that the caller is not a normal user;
wherein the detection unit is further configured to: acquiring a parameter buffer for storing the call chain information memory address; converting the memory address into function name information by using a conversion function; acquiring function name information of the function call chain based on the function name information; and acquiring the calling chain information of the function based on the function name information of the function calling chain.
5. The apparatus of claim 4, wherein the apparatus further comprises:
a construction unit for constructing a data structure;
and the setting unit is used for setting the data structure as the calling parameter type of the function.
CN201611119489.XA 2016-12-08 2016-12-08 Method and device for protecting function call Active CN106650355B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611119489.XA CN106650355B (en) 2016-12-08 2016-12-08 Method and device for protecting function call

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611119489.XA CN106650355B (en) 2016-12-08 2016-12-08 Method and device for protecting function call

Publications (2)

Publication Number Publication Date
CN106650355A CN106650355A (en) 2017-05-10
CN106650355B true CN106650355B (en) 2020-04-10

Family

ID=58818703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611119489.XA Active CN106650355B (en) 2016-12-08 2016-12-08 Method and device for protecting function call

Country Status (1)

Country Link
CN (1) CN106650355B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229844B (en) * 2017-05-31 2019-09-10 武汉斗鱼网络科技有限公司 Detect method, apparatus, server-side and the client of SWF file caller
CN107391970B (en) * 2017-06-07 2020-08-04 武汉斗鱼网络科技有限公司 Function access control method and device in Flash application program
CN107358071A (en) * 2017-06-07 2017-11-17 武汉斗鱼网络科技有限公司 Prevent the method and device that function illegally calls in Flash application programs
CN107528820A (en) * 2017-06-07 2017-12-29 中国银联股份有限公司 For the encipher-decipher method of application program, device and method for auditing safely and platform
CN109426702B (en) * 2017-08-31 2021-05-28 武汉斗鱼网络科技有限公司 iOS platform file reading protection method, storage medium, electronic device and system
CN107545182B (en) * 2017-09-06 2019-11-15 武汉斗鱼网络科技有限公司 Around the method and system of function call chain detection in a kind of IOS application
CN108319822B (en) * 2018-01-05 2020-05-12 武汉斗鱼网络科技有限公司 Method, storage medium, electronic device and system for protecting webpage code
CN109474617B (en) * 2018-12-17 2021-07-23 武汉斗鱼鱼乐网络科技有限公司 Method, device, terminal and storage medium for calling functions in SO file

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005497A (en) * 2006-11-27 2007-07-25 科博技术有限公司 System and method for preventing vicious code attach
CN102725763A (en) * 2010-12-08 2012-10-10 松下电器产业株式会社 Information processing device and information processing method
CN103425910A (en) * 2013-07-31 2013-12-04 福建天晴数码有限公司 Method for detecting if function being illegally called in procedure
CN103793651A (en) * 2014-02-22 2014-05-14 西安电子科技大学 Kernel integrity detection method based on Xen virtualization

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595510B2 (en) * 2011-06-22 2013-11-26 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
CN104408370B (en) * 2014-12-25 2017-08-04 珠海全志科技股份有限公司 Android system security verification method and its checking device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005497A (en) * 2006-11-27 2007-07-25 科博技术有限公司 System and method for preventing vicious code attach
CN102725763A (en) * 2010-12-08 2012-10-10 松下电器产业株式会社 Information processing device and information processing method
CN103425910A (en) * 2013-07-31 2013-12-04 福建天晴数码有限公司 Method for detecting if function being illegally called in procedure
CN103793651A (en) * 2014-02-22 2014-05-14 西安电子科技大学 Kernel integrity detection method based on Xen virtualization

Also Published As

Publication number Publication date
CN106650355A (en) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106650355B (en) Method and device for protecting function call
CN107391298B (en) Data storage state detection method and device and computer readable storage medium
CN109150835B (en) Cloud data access method, device, equipment and computer readable storage medium
KR101226408B1 (en) Apparatus, system, and method for trusted graphics rendering for safer browsing on mobile devices
EP3220573B1 (en) Method and system for controlling encryption of information and analyzing information as well as terminal
KR101900841B1 (en) Method and apparatus for protecting application program password of mobile terminal
CN106055936B (en) Executable program data packet encrypting/decrypting method and device
CN106304074B (en) Auth method and system towards mobile subscriber
CN104298932B (en) A kind of call method and device of SO files
CN112019332A (en) Encryption and decryption method based on micro-service, API gateway system and equipment
EP3659058B1 (en) Devices and methods for key attestation with multiple device certificates
CN107196907B (en) A kind of guard method of Android SO files and device
CN105281904A (en) Message data encryption method and system, internet of things server and internet of things terminal
CN105320535A (en) Checking method of installation package, client side, server and system
WO2020233047A1 (en) Page test method and apparatus
WO2019134276A1 (en) Method and system for protecting web page code, storage medium, and electronic device
CN105809066B (en) The storage method and terminal of encryption data
CN109145533B (en) Method and device for protecting code by using random password
CN112565003B (en) Communication data testing method and device, storage medium and electronic equipment
CN104917763B (en) A kind of PIN cache method
WO2020057389A1 (en) Signature verification method and apparatus, electronic device and readable storage medium
CN105809494A (en) method and system for invoice generation and invoice verification
CN106453335B (en) Data transmission method and device
CN102722682B (en) Protection method for Excel document
CN114117388A (en) Device registration method, device registration apparatus, electronic device, and storage medium

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