CN111563237B - Intelligent contract security enhancement method - Google Patents

Intelligent contract security enhancement method Download PDF

Info

Publication number
CN111563237B
CN111563237B CN202010211696.8A CN202010211696A CN111563237B CN 111563237 B CN111563237 B CN 111563237B CN 202010211696 A CN202010211696 A CN 202010211696A CN 111563237 B CN111563237 B CN 111563237B
Authority
CN
China
Prior art keywords
jump
address
intelligent contract
byte
byte code
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
CN202010211696.8A
Other languages
Chinese (zh)
Other versions
CN111563237A (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.)
Boya Chain Beijing Technology Co ltd
Peking University
Original Assignee
Boya Chain Beijing Technology Co ltd
Peking University
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 Boya Chain Beijing Technology Co ltd, Peking University filed Critical Boya Chain Beijing Technology Co ltd
Priority to CN202010211696.8A priority Critical patent/CN111563237B/en
Publication of CN111563237A publication Critical patent/CN111563237A/en
Application granted granted Critical
Publication of CN111563237B publication Critical patent/CN111563237B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention provides an intelligent contract security enhancement method, and relates to the technical field of block chain intelligent contract security. Firstly, restoring a control flow diagram of intelligent contract byte codes, and marking destination addresses of JUMP of all JUMP/JUMP PI instructions, positions of JUMP/JUMP PI instructions and front-back position relations between the JUMP destination addresses and the JUMP instructions; searching a position capable of inserting the replacement byte code in the original byte code of the intelligent contract and marking the address of the insertion position; generating basic replacement byte codes according to the selected different address confusion modes; reconstructing all jump addresses and jump instructions in the basic replacement byte codes and the original byte codes, and recovering a control flow diagram of the byte codes; and inserting the mixed jump address into the replacement byte code, and inserting the replacement byte code into the original byte code to generate a new intelligent contract byte code. The method can disable the analysis work of the common intelligent contract reverse analysis tool and increase the security of the contract.

Description

Intelligent contract security enhancement method
Technical Field
The invention relates to the technical field of intelligent contract security of a blockchain, in particular to an intelligent contract security enhancement method.
Background
With the widespread acceptance of the unique decentralization, non-tamper-resistance and openness of blockchain technologies, more and more people are beginning to use blockchain technologies as the underlying framework supporting the fields of finance, supervision, gaming, etc., to achieve a high convergence of internet technologies and financial values. In order to meet the demands of users in more scenes, the blockchain supports deployment and operation of intelligent contracts, provides a complete environment for the execution of the intelligent contracts, and can call the intelligent contracts through transactions to complete a series of operations required by the users. Because of the openness and non-tamper ability of the blockchain, all intelligent contracts deployed on the blockchain are publicly visible and the outcome of execution of the transaction is deterministic. This feature results in the smart contract failing to perform functions such as generating random numbers, which is critical to gaming and financial applications. For example, cryptoKitties is a popular game in the Ethermill where players can breed and trade digital kittens, which would be of higher value by the rare genome combination. The game development team uses a closed source smart pool to introduce random numbers for reproduction of kittens in order to ensure randomness of inheritance and mutation. Nevertheless, researchers claim that smart contracts for cryptokittens can be analyzed in reverse using Erays to greatly increase the probability of breeding high value kittens, undoubtedly in a way that disrupts game randomness and reduces the value of kittens possessing rare genes. In addition to generating random numbers, some smart contract developers set contracts as closed sources for security reasons to prevent an attacker from analyzing deployed contract bytecodes, but may still analyze the functionality of the contract code using smart contract decompiling tools such as Vandal, gigahorse, causing significant loss to developers and users of smart contracts.
While developers have urgent demands for anti-reverse analysis techniques for smart contract bytecodes, there is currently no effective method for protecting smart contracts. Because of the special architecture of the smart contract operating environment, existing techniques for reverse analysis on other platforms are ineffective or too expensive for smart contracts. The main difficulties are as follows:
(1) The smart contract virtual machine (hereinafter EVM) is not a standard von neumann system, and when executed in EVM, the contract code is stored in a read-only memory space, not in a readable and writable memory or external memory space as in a conventional computer composition. Therefore, the contract code cannot be modified in the execution process, which means that the conventional code encryption mode cannot be applied in the blockchain.
(2) Invoking execution of the smart contract consumes Gas. Gas is the basic unit in the blockchain that is used to measure the consumption of computing resources by transactions. The more steps a contract performs, the more expensive instructions are executed, and the more Gas is consumed, which can cause additional expense to the user deploying and invoking the contract. Conventional code obfuscation techniques may add a large number of additional instructions to the code, resulting in a significant increase in Gas consumption, which is unacceptable to contract developers and users.
A common intelligent contract reverse analysis tool (Erays, vandal, gigahorse) first restores the control flow graph of the bytecode (Control Flow Graph, CFG for short) when analyzing intelligent contracts, and then restores the bytecode of the intelligent contracts to human readable code or intermediate code representations (Intermediate Representation, IR for short) available to security analysis tools based on the CFG. If the CFG recovery fails, the reverse analysis tool cannot produce the correct analysis result.
Disclosure of Invention
Aiming at the defects of the prior art, the invention provides an intelligent contract security enhancement method, which causes the reverse analysis of the intelligent contract by a reverse tool to fail and realizes the protection of the intelligent contract byte code.
In order to solve the technical problems, the invention adopts the following technical scheme: an intelligent contract security enhancement method, comprising the steps of:
step 1, acquiring an original byte code of an intelligent contract, recovering a control flow diagram of the original byte code of the intelligent contract, and marking destination addresses of all JUMP instructions of the JUMP instructions, a stack-entering instruction of the JUMP instructions, positions of the JUMP instructions and front-back position relations between the JUMP destination addresses and the JUMP instructions;
step 2, searching a position capable of inserting the replacement byte code in the original byte code of the intelligent contract and marking an address of the insertion position;
in the instruction sequences corresponding to the original byte codes of the intelligent contracts, each matched { EQ-PUSH-JUMPI } instruction sequence is used as an object code to be replaced and used for confusing a byte code control flow diagram of the intelligent contracts;
step 3, a user selects any one of four address confusion modes to replace byte codes, and different basic replacement byte codes are generated according to the selected different address confusion modes;
the four address confusion modes are respectively as follows:
address confusion pattern 1: obtaining a jump address using a memory access;
address confusion pattern 2: obtaining a jump address by using storage access;
address confusion pattern 3: obtaining a jump address by calculation using a sha3 () function;
address confusion pattern 4: obtaining a return value as a jump address using an external contract call;
when the user selects address confusion mode 1, the basic replacement byte codes are as follows: "[ x ]604052604051";
when the user selects address confusion mode 2, the basic replacement byte codes are as follows: "[ x ]604055604054";
when the user selects address confusion mode 3, its basic replacement bytecode is:
“60ff6050526001606f20600f1660099004[**][**]02”;
when the user selects address confusion pattern 4, its underlying replacement bytecode is:
“[**][**]61007d60048073bde95422681e4c3984635af2f2f35f8c44a4ddc973ffffffffffffffffffffff ffffffffffffffffff1690602001909190505060008173ffffffffffffffffffffffffffffffffffffffff16638dde08406000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156102c65a03f115155050506040518051905090509190505016”;
wherein, [ x ] represents the skip address and the byte code of the push operation instruction which need to be confused;
step 4, reconstructing all jump destination addresses and jump instructions in the basic replacement byte codes and the original byte codes, and recovering a normal control flow diagram of the intelligent contract byte codes;
step 4.1, judging the front-back relation between the destination address of each JUMP/JUMP PI instruction in step 1 and the inserting position address in step 2 in turn, if the JUMP destination address is behind the inserting position, adding the byte length of the inserting code to the JUMP destination address to obtain a new JUMP destination address; otherwise, the destination address of JUMP of the JUMP/JUMP instruction is unchanged;
step 4.2, judging whether the destination address jumped by each JUMP destination address obtained in the step 4.1 is carried or not in sequence, if so, modifying the corresponding push operation instruction according to the length of the new jumped destination address, and meanwhile, filling byte codes according to bytes; otherwise, the push operation instruction is unchanged;
step 4.3, finally judging whether other JUMP destination addresses carry before the JUMP destination address of each JUMP destination address of the JUMP destination instructions obtained in step 4.1 in sequence, if so, modifying the corresponding push operation instruction according to the length of the new JUMP destination address, and complementing the JUMP destination address according to bytes; otherwise, the push operation instruction is unchanged;
and 5, inserting the confused jump address into the basic replacement byte code, inserting the inserted basic replacement byte code into the reconstructed original byte code, generating a new intelligent contract byte code, and enhancing the security of the intelligent contract.
The beneficial effects of adopting above-mentioned technical scheme to produce lie in: according to the intelligent contract security enhancement method provided by the invention, the intelligent contract byte codes with the confusion function are generated through the methods of pattern recognition, control flow diagram reconstruction and byte code replacement, so that the analysis work of a common intelligent contract reverse analysis tool is invalid, the opacity of the intelligent contract byte codes is greatly improved, and the security of contracts is increased. Meanwhile, the method only adds few extra instructions, so that the mixed intelligent contract can not cause increased Gas consumption burden to developers and users in the process of creating and calling, and the development and use cost is greatly saved. Therefore, the method provided by the invention is used as an effective method for protecting intelligent contract byte codes from reverse analysis, and can be used for protecting contract source closing property, improving demand scenes such as contract function opacity and the like.
Drawings
FIG. 1 is a schematic process diagram of an intelligent contract security enhancement method provided by an embodiment of the invention;
FIG. 2 is a flow chart of a method for enhancing security of an intelligent contract according to an embodiment of the present invention.
Detailed Description
The following describes in further detail the embodiments of the present invention with reference to the drawings and examples. The following examples are illustrative of the invention and are not intended to limit the scope of the invention.
An intelligent contract security enhancement method, as shown in figures 1 and 2, includes the steps of:
step 1, obtaining an original byte code of an intelligent contract, recovering a control flow diagram of the original byte code of the intelligent contract, marking the destination addresses of all JUMP of the JUMP/JUMP PI instructions and the push instructions thereof, the positions of the JUMP/JUMP PI instructions and the front-back position relation between the JUMP destination addresses and the JUMP instructions (the position pointed by the destination addresses is recorded as forward before the JUMP instructions, otherwise, is recorded as reverse);
in the embodiment of the invention, the acquired intelligent contract original byte codes are as follows:
606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329e99f07146044575b600080fd5b3415604e57600080fd5b606260048080359060200190919050506064565b005b5b6000548110156078576001810190506065565b00a165627a7a72305820aa50e5bcd3618fd692c07f6ec781a31c45d1b012b78656880f2eb90ea188158e0029。
the destination addresses of all JUMP instructions of the JUMP/JUMP instructions, the positions of the JUMP/JUMP instructions and the front-back position relationship between the JUMP destination addresses and the JUMP instructions in the control flow graph of the intelligent contract primitive byte codes are shown in table 1 (all are hexadecimal character strings):
TABLE 1JUMP/JUMPI instruction information
Byte code location Push operation instruction Destination address Direction
3e 60 44 forward
49 60 4e forward
61 60 64 forward
6e 60 78 forward
77 60 65 reverse
Step 2, searching a position capable of inserting the replacement byte code in the original byte code of the intelligent contract and marking an address of the insertion position;
each byte code in the original byte codes of the intelligent contract corresponds to an operation instruction, and a plurality of operation codes are sequentially arranged to form an instruction sequence; in the instruction sequences corresponding to the original byte codes of the intelligent contracts, each matched { EQ-PUSH-JUMPI } instruction sequence is used as an object code to be replaced and used for confusing a byte code control flow diagram of the intelligent contracts; in this embodiment, only the address of PUSH in the first group of instruction sequences is marked as the address of the insertion position;
the inserted byte code position in this embodiment is 0x3c, i.e., the byte code position of PUSH1 in the first set of { EQ-PUSH1-JUMPI } instruction sequences that occur. The jump destination address with the byte code position of 3e in table 1 is the jump address to be confused.
Step 3, a user selects any one of four address confusion modes to replace byte codes, and different basic replacement byte codes are generated according to the selected different address confusion modes;
the four address confusion modes are respectively as follows:
address confusion pattern 1: obtaining a jump address using a memory access;
address confusion pattern 2: obtaining a jump address by using storage access;
address confusion pattern 3: obtaining a jump address by calculation using a sha3 () function;
address confusion pattern 4: obtaining a return value as a jump address using an external contract call;
when the user selects address confusion mode 1, the basic replacement byte codes are as follows: "[ x ]604052604051";
when the user selects address confusion mode 2, the basic replacement byte codes are as follows: "[ x ]604055604054";
when the user selects address confusion mode 3, its basic replacement bytecode is:
“60ff6050526001606f20600f1660099004[**][**]02”;
when the user selects address confusion pattern 4, its underlying replacement bytecode is:
“[**][**]61007d60048073bde95422681e4c3984635af2f2f35f8c44a4ddc973ffffffffffffffffffffffffffffffffffffffff1690602001909190505060008173ffffffffffffffffffffffffffffffffffffffff16638dde08406000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156102c65a03f115155050506040518051905090509190505016”;
wherein, [ x ] represents the skip address and the byte code of the push operation instruction which need to be confused;
because the replacement byte codes of all four address confusion modes are completely consistent in terms of the whole replacement method and flow of the byte codes except different instruction operations, the embodiment only selects the address confusion mode 1 for demonstration, and the basic replacement byte codes are as follows: 6044604052604051.
step 4, reconstructing all jump destination addresses and jump instructions in the basic replacement byte codes and the original byte codes, and recovering a normal control flow diagram of the intelligent contract byte codes;
step 4.1, judging the front-back relation between the destination address of each JUMP/JUMP PI instruction in step 1 and the inserting position address in step 2 in turn, if the JUMP destination address is behind the inserting position, adding the byte length of the inserting code to the JUMP destination address to obtain a new JUMP destination address; otherwise, the destination address of JUMP of the JUMP/JUMP instruction is unchanged;
in this embodiment, all jump addresses and instruction cases after the execution of step 4.1 are shown in table 2:
TABLE 2 New jump Address and instruction
Byte code location Push operation instruction Destination address Direction
44 60 4a forward
4f 60 54 forward
67 60 6a forward
74 60 7e forward
7d 60 6b reverse
Step 4.2, judging whether the destination address jumped by each JUMP destination address obtained in the step 4.1 is carried or not in sequence, if so, modifying the corresponding push operation instruction according to the length of the new jumped destination address, and meanwhile, filling byte codes according to bytes; otherwise, the push operation instruction is unchanged;
in this embodiment, after step 4.1, no carry occurs in the JUMP destination address of the JUMP/JUMP instruction, so the push operation instruction is unchanged.
Step 4.3, finally judging whether other JUMP destination addresses carry before the JUMP destination address of each JUMP destination address of the JUMP destination instructions obtained in step 4.1 in sequence, if so, modifying the corresponding push operation instruction according to the length of the new JUMP destination address, and complementing the JUMP destination address according to bytes; otherwise, the push operation instruction is unchanged;
in this embodiment, after step 4.1, no other JUMP destination address carries before the JUMP destination address of each JUMP/JUMP pi instruction points to, so the push operation instruction is unchanged.
And 5, inserting the confused jump address into the basic replacement byte code, inserting the inserted basic replacement byte code into the reconstructed original byte code, generating a new intelligent contract byte code, and enhancing the security of the intelligent contract.
In this embodiment, after inserting the jump address and the push instruction after confusion, the replacing bytecode is: 604a604052604051, inserting the replacement byte code into the reconstructed original byte code, and obtaining a new intelligent contract byte code as follows:
606060405260043610603f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329e99f0714604a604052604051575b600080fd5b3415605457600080fd5b60626004808035906020019091905050606a565b005b5b600054811015607e57600181019050606b565b00a165627a7a72305820aa50e5bcd3618fd692c07f6ec781a31c45d1b012b78656880f2eb90ea188158e0029。
wherein the byte code 604a604052604051 of the second row is the inserted replacement byte code, the byte code 54 of the second row, the byte codes 6a, 7e of the third row, and the byte code 6b of the fourth row is the modified jump address. The intelligent contract byte code obtained by the method can ensure that the reverse tool fails in analyzing the contract byte code on the basis of ensuring normal contract functions, and plays a role in protecting the contract byte code.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some or all of the technical features thereof can be replaced with equivalents; such modifications and substitutions do not depart from the spirit of the corresponding technical solutions, which are defined by the scope of the appended claims.

Claims (3)

1. An intelligent contract security enhancement method is characterized in that: the method comprises the following steps:
step 1, acquiring an original byte code of an intelligent contract, recovering a control flow diagram of the original byte code of the intelligent contract, and marking destination addresses of all JUMP instructions of the JUMP instructions, a stack-entering instruction of the JUMP instructions, positions of the JUMP instructions and front-back position relations between the JUMP destination addresses and the JUMP instructions;
step 2, searching a position capable of inserting the replacement byte code in the original byte code of the intelligent contract and marking an address of the insertion position;
step 3, a user selects any one of four address confusion modes to replace byte codes, and different basic replacement byte codes are generated according to the selected different address confusion modes;
the four address confusion modes are respectively as follows:
address confusion pattern 1: obtaining a jump address using a memory access;
address confusion pattern 2: obtaining a jump address by using storage access;
address confusion pattern 3: obtaining a jump address by calculation using a sha3 () function;
address confusion pattern 4: obtaining a return value as a jump address using an external contract call;
when the user selects address confusion mode 1, the basic replacement byte codes are as follows: "[ x ]604052604051";
when the user selects address confusion mode 2, the basic replacement byte codes are as follows: "[ x ]604055604054";
when the user selects address confusion mode 3, its basic replacement bytecode is:
“60ff6050526001606f20600f1660099004[**][**]02”;
when the user selects address confusion pattern 4, its underlying replacement bytecode is:
“[**][**]61007d60048073bde95422681e4c3984635af2f2f35f8c44a4ddc973ffffffffffffffffffffff ffffffffffffffffff1690602001909190505060008173ffffffffffffffffffffffffffffffffffffffff16638dde08406000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000 000000000000028152600401602060405180830381600087803b15156102c65a03f115155050506040518051905090509190505016”;
wherein, [ x ] represents the skip address and the byte code of the push operation instruction which need to be confused;
step 4, reconstructing all jump destination addresses and jump instructions in the basic replacement byte codes and the original byte codes, and recovering a normal control flow diagram of the intelligent contract byte codes;
and 5, inserting the confused jump address into the basic replacement byte code, inserting the inserted basic replacement byte code into the reconstructed original byte code, generating a new intelligent contract byte code, and enhancing the security of the intelligent contract.
2. The smart contract security enhancement method of claim 1, wherein: the specific method of the step 2 is as follows:
and in the instruction sequences corresponding to the original byte codes of the intelligent contracts, each matched { EQ-PUSH-JUMPI } instruction sequence is used as an object code to be replaced, and is used for confusing the byte code control flow diagrams of the intelligent contracts.
3. The smart contract security enhancement method of claim 1, wherein: the specific method of the step 4 is as follows:
step 4.1, judging the front-back relation between the destination address of each JUMP/JUMP PI instruction in step 1 and the inserting position address in step 2 in turn, if the JUMP destination address is behind the inserting position, adding the byte length of the inserting code to the JUMP destination address to obtain a new JUMP destination address; otherwise, the destination address of JUMP of the JUMP/JUMP instruction is unchanged;
step 4.2, judging whether the destination address jumped by each JUMP destination address obtained in the step 4.1 is carried or not in sequence, if so, modifying the corresponding push operation instruction according to the length of the new jumped destination address, and meanwhile, filling byte codes according to bytes; otherwise, the push operation instruction is unchanged;
step 4.3, finally judging whether other JUMP destination addresses carry before the JUMP destination address of each JUMP destination address of the JUMP destination instructions obtained in step 4.1 in sequence, if so, modifying the corresponding push operation instruction according to the length of the new JUMP destination address, and complementing the JUMP destination address according to bytes; otherwise, the push operation instruction is unchanged.
CN202010211696.8A 2020-03-24 2020-03-24 Intelligent contract security enhancement method Active CN111563237B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010211696.8A CN111563237B (en) 2020-03-24 2020-03-24 Intelligent contract security enhancement method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010211696.8A CN111563237B (en) 2020-03-24 2020-03-24 Intelligent contract security enhancement method

Publications (2)

Publication Number Publication Date
CN111563237A CN111563237A (en) 2020-08-21
CN111563237B true CN111563237B (en) 2023-08-08

Family

ID=72071485

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010211696.8A Active CN111563237B (en) 2020-03-24 2020-03-24 Intelligent contract security enhancement method

Country Status (1)

Country Link
CN (1) CN111563237B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631611B (en) * 2021-01-06 2022-06-03 中山大学 Intelligent Pompe deception contract identification method and device
CN113504940B (en) * 2021-07-28 2023-04-07 电子科技大学 Method and device for improving reverse engineering effect of intelligent contract bytecode
CN114385185A (en) * 2021-12-24 2022-04-22 深圳前海微众银行股份有限公司 Method and device for generating control flow graph of intelligent contract
CN116743499B (en) * 2023-08-09 2023-10-27 杭州安碣信息安全科技有限公司 Imitation transaction generation method for intelligent contract attack

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853357A (en) * 2010-04-28 2010-10-06 北京飞天诚信科技有限公司 Software protection method
CN110674533A (en) * 2019-09-25 2020-01-10 浙江大学 Block chain consensus excitation system and method based on large-scale scientific core calculation
CN110717746A (en) * 2019-10-14 2020-01-21 杭州复杂美科技有限公司 Transfer method, transfer system, address naming equipment and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11128603B2 (en) * 2016-09-30 2021-09-21 Nec Corporation Method and system for providing a transaction forwarding service in blockchain implementations
SG11202003808PA (en) * 2019-06-28 2020-05-28 Advanced New Technologies Co Ltd System and method for data processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853357A (en) * 2010-04-28 2010-10-06 北京飞天诚信科技有限公司 Software protection method
CN110674533A (en) * 2019-09-25 2020-01-10 浙江大学 Block chain consensus excitation system and method based on large-scale scientific core calculation
CN110717746A (en) * 2019-10-14 2020-01-21 杭州复杂美科技有限公司 Transfer method, transfer system, address naming equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"区块链应用系统若干脆弱性分析与评测";曾晶晶;《中国优秀硕士学位论文全文数据库——信息科技辑》;20190915;全文 *

Also Published As

Publication number Publication date
CN111563237A (en) 2020-08-21

Similar Documents

Publication Publication Date Title
CN111563237B (en) Intelligent contract security enhancement method
CN108614960B (en) JavaScript virtualization protection method based on front-end byte code technology
TW200841209A (en) Obfuscating computer program code
CN108733988A (en) The guard method of executable program on Android platform
Madou et al. Software protection through dynamic code mutation
US8589897B2 (en) System and method for branch extraction obfuscation
CN108681457A (en) The Android application program guard methods explained with residual code based on code sinking
Kalysch et al. VMAttack: deobfuscating virtualization-based packed binaries
CN108491235A (en) In conjunction with the DEX guard methods of dynamic load and function Nativeization
US20110167407A1 (en) System and method for software data reference obfuscation
CN104462990A (en) Character string decrypting and encrypting method and device
CN110245467A (en) Android application program guard method based on Dex2C and LLVM
CN106960140A (en) Virtual machine instructions obscure method and device, virtual machine protection system
WO2021244054A1 (en) Contract code obfuscation platform and obfuscation method based on smart contract bytecode features
CN112163195A (en) Novel virtual machine software protection method based on stack hiding
CN107203500A (en) The automatic switching method of the excel formula object oriented languages of expansion backtracking is replaced based on recurrence
CN101366035B (en) Method for execution of application program of compiling an intermediate language software code
CN111723345A (en) Callback function-based control flow obfuscation method and system
CN113626773B (en) Code protection method based on intermediate language
CN111190585B (en) Method for realizing JAVA mode matching characteristic based on byte code enhancement technology
US7958490B2 (en) System for automating the definition of application objects supporting undoing, redoing compressing and logging operations
He et al. Tamperproofing a software watermark by encoding constants
CN108733990B (en) Block chain-based file protection method and terminal equipment
CN114637988A (en) Binary-oriented function level software randomization method
CN112114809B (en) Program code safety protection method, 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