CN113010857A - JavaScript code obfuscation method and system capable of customizing rules - Google Patents

JavaScript code obfuscation method and system capable of customizing rules Download PDF

Info

Publication number
CN113010857A
CN113010857A CN202110230043.9A CN202110230043A CN113010857A CN 113010857 A CN113010857 A CN 113010857A CN 202110230043 A CN202110230043 A CN 202110230043A CN 113010857 A CN113010857 A CN 113010857A
Authority
CN
China
Prior art keywords
obfuscation
code
ast
rules
confusion
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.)
Pending
Application number
CN202110230043.9A
Other languages
Chinese (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.)
Beijing Dingxiang Technology Co ltd
Original Assignee
Beijing Dingxiang 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 Beijing Dingxiang Technology Co ltd filed Critical Beijing Dingxiang Technology Co ltd
Priority to CN202110230043.9A priority Critical patent/CN113010857A/en
Publication of CN113010857A publication Critical patent/CN113010857A/en
Pending legal-status Critical Current

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a JavaScript code obfuscation method and system for self-defining rules, which comprises the following steps: s1, generating AST by the source code through a syntax analysis tool; s2, processing the AST by a confusion engine to generate the confused AST, wherein the confusion engine can carry out custom confusion rules; s3, restoring the mixed AST into a JavaScript code; and S4, compressing the obfuscated JavaScript code to obtain a finally generated code. The code obfuscation method and the code obfuscation system enable the result of each obfuscation to be random, greatly reduce readability and debuggability of the obfuscated result, and guarantee code safety.

Description

JavaScript code obfuscation method and system capable of customizing rules
Technical Field
The invention relates to the field of computers and communication, in particular to a JavaScript code obfuscation method and a JavaScript code obfuscation system capable of customizing rules.
Background
With the rapid development of the internet client technology, various technologies of the client are more and more abundant, and the functions are more and more complex, but as the client code runs on the user terminal, an attacker can easily read, analyze and crack, and various risks are brought to the system. At present, various clients such as a browser, a Hybrid AP, an applet, and the like operate by mainly interpreting a JavaScript code, so that the JavaScript code needs to be protected to avoid exposing business logic, and prevent works from being copied and tampered.
The current main protection means include the following:
1. and compressing by using a code compression tool such as UglifyJS.
2. And carrying out reversible coding on the code, and then reversing the code back to execute the code in modes of eval and the like.
3. Other canonical or AST based obfuscation tools modify the source code by inserting meaningless dead code in the source code, changing the code display characters, and so on.
The above several protection measures have disadvantages:
1. the design purpose of the UglifyJS and other code compression tools is to reduce the code volume, the confusion strength is not high, and the confused code is basically consistent with the main flow of the source code
2. eval et al is easily hook at key code points, intercepting directly to the source code
3. The existing AST-based obfuscation tool rule is generally simpler, the generation rule is fixed, and a plurality of obfuscation results are unchanged.
Disclosure of Invention
Aiming at the problems in the prior art, the invention aims to solve the technical problem that the obfuscated file is easy to reverse in the prior art, and provides an obfuscation technology capable of customizing an obfuscation rule, so that a browser end cannot acquire the content of the original file, the obfuscated result is random each time, the readability and the debuggability of the obfuscated result are greatly reduced, and the safety of codes is guaranteed.
The invention provides a JavaScript code obfuscation method for a user-defined rule, which comprises the following steps:
s1, generating AST by the source code through a syntax analysis tool;
s2, processing the AST by a confusion engine to generate the confused AST, wherein the confusion engine can carry out custom confusion rules;
s3, restoring the mixed AST into a JavaScript code;
and S4, compressing the obfuscated JavaScript code to obtain a finally generated code.
Further, a default obfuscation process is provided in the obfuscation engine, which includes five obfuscation rules that are sequentially performed, and the five obfuscation rules are respectively:
source code conversion for converting numbers, regular expressions, etc. in the code into representations of character strings;
the character string encryption is used for randomly encrypting character strings in the codes by using a plurality of built-in encryption functions, simultaneously inserting decryption codes into the source codes and dynamically decrypting the decryption codes during running;
splitting character strings, which is used for splitting the character strings in the codes and dispersing the split character strings into a plurality of action domains;
function scrambling, which is used for randomly shuffling the functions in the codes and scrambling the declaration sequence of the original functions;
and constant extraction, namely randomly extracting the constants in the code into a plurality of arrays, and changing the constants into the references of the subscripts of the arrays when the constants are actually referenced.
Further, in step S2, when customizing the confusion rule, the confusion rule may be written as follows:
a, rules can be inserted before obfuscation, and input is provided as AST processed by a previous rule;
b, the user performs user-defined processing on the AST;
and C, returning the processed AST to be used by the next rule.
Further, the custom rule includes the following types:
the default rules are freely combined, the confusion strength is designated, and the customized new rules are inserted, and the types can be simultaneously or selectively combined for use.
Further, the specified confusion strength is obtained by respectively setting the confusion strength into a strong grade, a medium grade and a weak grade according to the rule of each adjustable strength, or setting the confusion strength into a stepless free adjustment form for selection.
On the other hand, the invention provides a JavaScript code obfuscation system for self-defining rules, which is characterized by comprising the following units:
a syntax analysis unit for generating AST from the source code by a syntax analysis tool;
the confusion engine is used for processing the AST by the confusion engine of the tool, generating the confused AST which has a plurality of built-in complex confusion rules and supports the user-defined confusion rules, so that the result of each confusion is random;
a grammar restoring unit for restoring the obfuscated AST into a JavaScript code;
and the code compression unit is used for compressing the obfuscated JavaScript code to obtain a finally generated code.
Further, a default obfuscation process is provided in the obfuscation engine, which includes five obfuscation rules that are sequentially performed, and the five obfuscation rules are respectively:
source code conversion for converting numbers, regular expressions, etc. in the code into representations of character strings;
the character string encryption is used for randomly encrypting character strings in the codes by using a plurality of built-in encryption functions, simultaneously inserting decryption codes into the source codes and dynamically decrypting the decryption codes during running;
splitting character strings, which is used for splitting the character strings in the codes and dispersing the split character strings into a plurality of action domains;
function scrambling, which is used for randomly shuffling the functions in the codes and scrambling the declaration sequence of the original functions;
and constant extraction, namely randomly extracting the constants in the code into a plurality of arrays, and changing the constants into the references of the subscripts of the arrays when the constants are actually referenced.
Further, in the user-defined confusion rule of the confusion engine, the confusion rule can be compiled by the following process:
a, rules can be inserted before obfuscation, and input is provided as AST processed by a previous rule;
b, the user performs user-defined processing on the AST;
and C, returning the processed AST to be used by the next rule.
Further, the custom rule includes the following types:
the default rules are freely combined, the confusion strength is designated, and the customized new rules are inserted, and the types can be simultaneously or selectively combined for use.
Further, the specified confusion strength is obtained by respectively setting the confusion strength into a strong grade, a medium grade and a weak grade according to the rule of each adjustable strength, or setting the confusion strength into a stepless free adjustment form for selection.
The invention supports self-defining addition of other confusion rules by internally arranging a plurality of complex confusion rules, can freely combine the rules, can specify the confusion strength and ensures that different results can be obtained in each confusion. The readability and the debuggability of the result after confusion are greatly reduced, and meanwhile, the device can be matched with other compression tools for use, so that the confusion strength is further enhanced.
Drawings
FIG. 1 is a schematic diagram illustrating the structure and flow of a method and system for obfuscating JavaScript code of custom rules according to the present invention.
FIG. 2 shows a default flow diagram of an obfuscation engine of the custom rule JavaScript code obfuscation method and system in accordance with the present invention.
Detailed Description
The technical solutions of the present invention will be described clearly and completely with reference to the accompanying drawings, and it should be understood that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the description of the present invention, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc., indicate orientations or positional relationships based on the orientations or positional relationships shown in the drawings, and are only for convenience of description and simplicity of description, but do not indicate or imply that the device or element being referred to must have a particular orientation, be constructed and operated in a particular orientation, and thus, should not be construed as limiting the present invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
In the description of the present invention, it should be noted that, unless otherwise explicitly specified or limited, the terms "mounted," "connected," and "connected" are to be construed broadly, e.g., as meaning either a fixed connection, a removable connection, or an integral connection; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meanings of the above terms in the present invention can be understood by those skilled in the art according to specific situations.
The following detailed description of embodiments of the invention refers to the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the present invention, are given by way of illustration and explanation only, not limitation.
The specific structure and flow of the JavaScript code obfuscation method and system for self-defining rules according to the present invention are shown in FIGS. 1 and 2.
The JavaScript code is a code program coded by an transliteration script language JavaScript, and a plurality of JavaScript codes are gathered together to form a JavaScript source file. The JavaScript source file can be directly viewed through a source file viewing function on the browser. However, as the client code is run on the user terminal, an attacker can easily read, analyze and crack the code, and various risks are brought to the system. At present, various clients such as a browser, a Hybrid AP, an applet, and the like operate by mainly interpreting a JavaScript code, so that the JavaScript code needs to be protected to avoid exposing business logic, and prevent works from being copied and tampered.
The invention realizes a JavaScript code obfuscation method and system capable of self-defining rules, wherein a plurality of complex obfuscation rules are built in the JavaScript code obfuscation system, a user can also self-define the obfuscation rules belonging to the user based on the tool, various rules can be freely selected and combined when the JavaScript code obfuscation system is used, meanwhile, part of the rules have certain intensity selection and randomness, the result can be changed after each obfuscation, and other compression tools can be combined, so that the purpose of protecting codes can be better achieved.
Fig. 1 shows a main execution flow of the JavaScript code obfuscation method according to the custom rule of the present invention, which mainly includes the following steps:
1. generating AST by the source code through a syntax analysis tool;
2. processing the AST by a confusion engine of the tool to generate the confused AST;
3. restoring the obfuscated AST into a JavaScript code;
4. and compressing the obfuscated JavaScript code to obtain a finally generated code.
Wherein, the ast (abstract Syntax tree) refers to a tree structure corresponding to the source code Syntax. The source code of a programming language can map statements in the source code to each node in a syntax tree by constructing the syntax tree. For JavaScript's original code, the original code may be converted into an abstract syntax tree AST by a JavaScript parser.
If no obfuscation rules are specified when used, the default obfuscation rules are as shown in FIG. 2. The default confusion process comprises five confusion rules which are sequentially carried out and respectively comprise source code conversion, character string encryption, character string splitting, function scrambling and constant extraction.
In the obfuscation engine described above, the five built-in obfuscation rules are specifically as follows:
and (3) source code conversion: as shown below, numbers, regular expressions, etc. in the code are converted into representations of character strings. The effect is to reduce code readability and to get more strings.
Figure BDA0002958773500000061
Encryption of character strings: as described below, a character string in a code is randomly encrypted by a plurality of built-in encryption functions, and a decryption code is inserted into a source code and dynamically decrypted at runtime. The rule supports intensity control and can control the proportion of encrypted character strings. The effect is to reduce code readability and increase debugging difficulty.
Figure BDA0002958773500000071
Splitting a character string: as described below, the character strings in the code are split, and the split character strings are dispersed into a plurality of scope. The rule supports intensity control and can control the proportion of splitting character strings.
The effect is to reduce code readability and increase debugging difficulty.
Figure BDA0002958773500000072
Function scrambling: as shown below, the functions in the code are shuffled randomly, disrupting the declared order of the original functions. The effect is to reduce code readability and increase debugging difficulty.
Figure BDA0002958773500000073
Constant extraction: as shown below, constants in the code are randomly extracted into a plurality of arrays, and when actually referenced, the constants are replaced by references of the subscripts of the arrays. The effect is to reduce code readability and increase debugging difficulty.
Figure BDA0002958773500000081
When a user has own special requirements and needs to define the rules by self, the user can compile the confusion rules, and the compiling flow is as follows:
a, the tool can insert rules before obfuscation, providing input as AST processed by the previous rule;
b, the user performs user-defined processing on the AST;
and C, returning the processed AST to be used by the next rule.
The invention supports self-defining addition of other confusion rules by internally arranging a plurality of complex confusion rules, can freely combine the rules, can specify the confusion strength and ensures that different results can be obtained in each confusion. The readability and the debuggability of the result after confusion are greatly reduced, and meanwhile, the device can be matched with other compression tools for use, so that the confusion strength is further enhanced.
In the aspect of customizing the confusion rule, a user-defined confusion sequence in five default rules can be selected, for example, the confusion operation can be performed according to the user-defined sequence of character string splitting, character string encryption, source code conversion, function scrambling and constant extraction.
Any number of rules can be selected from five rules set by default to perform any ordering, for example, only three rules are selected, and the obfuscation operation is performed according to the sequence of source code conversion, function scrambling and string encryption.
Confusion strength of each rule can be formulated, and the confusion strength is divided into strong, medium and weak, or can be set to be selected in a stepless free adjustment mode. Only two of them can be selected for strength custom confusion, such as string encryption (strong), string splitting (medium).
It is also possible to customize a new obfuscation rule and insert the needed position for obfuscation, such as inserting a new rule in the default five rules, where the new rule is defined as rule X: source code conversion, rule X, string encryption, string splitting, function scrambling and constant extraction.
On the other hand, the invention also provides a JavaScript code obfuscation system capable of customizing rules, which comprises a syntax analysis unit, an obfuscation engine, a syntax reduction unit and a code compression unit.
The AST is generated by the source code through a syntax analysis tool, and comprises a syntax analyzer for performing syntax analysis; a parser, which is a component of a compiler or interpreter, is used to perform syntax checking and construct a data structure consisting of input words, typically a hierarchical data structure such as a parse tree, abstract syntax tree, etc., and usually uses a separate parser to separate individual words from an input character stream and to use the words as its input.
The confusion engine is used for processing the AST by the confusion engine of the tool, generating the confused AST which has a plurality of built-in complex confusion rules and supporting the user-defined confusion rules, and when in use, various confusion rules can be freely selected and combined, the strength can be freely defined, and the result of each confusion has randomness.
And the grammar restoring unit is used for restoring the obfuscated AST into JavaScript code.
And the code compression unit is used for compressing the obfuscated JavaScript code to obtain a finally generated code.
In addition, the JavaScript code obfuscation system capable of customizing the rules further comprises an obfuscation server, wherein the obfuscation server is provided with an obfuscator, an interpreter and a token generator, the system is further provided with a memory and a computer program which is stored on the memory and can run on the processor, and when the computer program is executed by the processor, each process of the customizing the obfuscation rules is realized, and the technical effect that the same protection source file is prevented from being reversed can be achieved.
The embodiment of the invention also provides a computer readable storage medium, wherein a computer program is stored on the computer readable storage medium, and when being executed by a processor, the computer program realizes each process of the user-defined confusion method or the encryption method embodiment based on the user-defined confusion method, and can achieve the same technical effect. The computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.

Claims (10)

1. A JavaScript code obfuscation method for self-defining rules is characterized by comprising the following steps:
s1, generating AST by the source code through a syntax analysis tool;
s2, processing the AST by a confusion engine to generate the confused AST, wherein the confusion engine can carry out custom confusion rules;
s3, restoring the mixed AST into a JavaScript code;
and S4, compressing the obfuscated JavaScript code to obtain a finally generated code.
2. The JavaScript code obfuscation method according to claim 1, wherein a default obfuscating process is provided in the obfuscation engine, and includes five obfuscating rules sequentially performed, which are:
source code conversion for converting numbers, regular expressions, etc. in the code into representations of character strings;
the character string encryption is used for randomly encrypting character strings in the codes by using a plurality of built-in encryption functions, simultaneously inserting decryption codes into the source codes and dynamically decrypting the decryption codes during running;
splitting character strings, which is used for splitting the character strings in the codes and dispersing the split character strings into a plurality of action domains;
function scrambling, which is used for randomly shuffling the functions in the codes and scrambling the declaration sequence of the original functions;
and constant extraction, namely randomly extracting the constants in the code into a plurality of arrays, and changing the constants into the references of the subscripts of the arrays when the constants are actually referenced.
3. The JavaScript code obfuscation method according to claim 1 or 2, wherein in step S2, when the obfuscation rule is customized, the obfuscation rule itself may be written, and the writing process is as follows:
a, rules can be inserted before obfuscation, and input is provided as AST processed by a previous rule;
b, the user performs user-defined processing on the AST;
and C, returning the processed AST to be used by the next rule.
4. The method of claim 3, wherein the custom rule comprises the following types:
the default rules are freely combined, the confusion strength is designated, and the customized new rules are inserted, and the types can be simultaneously or selectively combined for use.
5. The JavaScript code obfuscation method according to claim 4, wherein the specified obfuscation strength is obtained by setting obfuscation strength of each rule with adjustable strength to be selectable in three stages of strong, medium and weak, or in a stepless free adjustment mode.
6. The JavaScript code obfuscation system for the custom rule is characterized by comprising the following units:
a syntax analysis unit for generating AST from the source code by a syntax analysis tool;
the confusion engine is used for processing the AST by the confusion engine of the tool, generating the confused AST which has a plurality of built-in complex confusion rules and supports the user-defined confusion rules, so that the result of each confusion is random;
a grammar restoring unit for restoring the obfuscated AST into a JavaScript code;
and the code compression unit is used for compressing the obfuscated JavaScript code to obtain a finally generated code.
7. The JavaScript code obfuscation system of claim 6, wherein the obfuscation engine has a default obfuscation process, including five obfuscation rules in sequence, which are:
source code conversion for converting numbers, regular expressions, etc. in the code into representations of character strings;
the character string encryption is used for randomly encrypting character strings in the codes by using a plurality of built-in encryption functions, simultaneously inserting decryption codes into the source codes and dynamically decrypting the decryption codes during running;
splitting character strings, which is used for splitting the character strings in the codes and dispersing the split character strings into a plurality of action domains;
function scrambling, which is used for randomly shuffling the functions in the codes and scrambling the declaration sequence of the original functions;
and constant extraction, namely randomly extracting the constants in the code into a plurality of arrays, and changing the constants into the references of the subscripts of the arrays when the constants are actually referenced.
8. The JavaScript code obfuscation system of claim 6 or 7, wherein the custom obfuscation rules of the obfuscation engine may be written as follows:
a, rules can be inserted before obfuscation, and input is provided as AST processed by a previous rule;
b, the user performs user-defined processing on the AST;
and C, returning the processed AST to be used by the next rule.
9. The method of claim 8, wherein the custom rule comprises the following types:
the default rules are freely combined, the confusion strength is designated, and the customized new rules are inserted, and the types can be simultaneously or selectively combined for use.
10. The system of claim 9, wherein the specified obfuscation strength is set by the rule with adjustable strength to be selectable in three stages of strong, medium, and weak, or set to be selectable in a stepless free adjustment manner.
CN202110230043.9A 2021-03-02 2021-03-02 JavaScript code obfuscation method and system capable of customizing rules Pending CN113010857A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110230043.9A CN113010857A (en) 2021-03-02 2021-03-02 JavaScript code obfuscation method and system capable of customizing rules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110230043.9A CN113010857A (en) 2021-03-02 2021-03-02 JavaScript code obfuscation method and system capable of customizing rules

Publications (1)

Publication Number Publication Date
CN113010857A true CN113010857A (en) 2021-06-22

Family

ID=76402331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110230043.9A Pending CN113010857A (en) 2021-03-02 2021-03-02 JavaScript code obfuscation method and system capable of customizing rules

Country Status (1)

Country Link
CN (1) CN113010857A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114065703A (en) * 2021-11-08 2022-02-18 武汉联影医疗科技有限公司 File processing method and device, computer equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038354A (en) * 2016-02-03 2017-08-11 阿里巴巴集团控股有限公司 Code obfuscation method, code operation method and device
CN110196718A (en) * 2018-05-10 2019-09-03 腾讯科技(深圳)有限公司 Script obscures method
CN110457209A (en) * 2019-07-16 2019-11-15 阿里巴巴集团控股有限公司 For debugging the method and system of application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107038354A (en) * 2016-02-03 2017-08-11 阿里巴巴集团控股有限公司 Code obfuscation method, code operation method and device
CN110196718A (en) * 2018-05-10 2019-09-03 腾讯科技(深圳)有限公司 Script obscures method
CN110457209A (en) * 2019-07-16 2019-11-15 阿里巴巴集团控股有限公司 For debugging the method and system of application

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114065703A (en) * 2021-11-08 2022-02-18 武汉联影医疗科技有限公司 File processing method and device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
CN108595989B (en) Mobile APP safety protection system and method under iOS
JP6257754B2 (en) Data protection
CN105354449B (en) Method and decryption method are obscured in a kind of scrambling towards Lua language
US9116712B2 (en) Compile based obfuscation
CN110598379B (en) Method, equipment and storage medium for realizing character string confusion
CN111159662A (en) Data processing method and device
CN112597454A (en) Code obfuscation method, code operation method, device, medium, and apparatus
CN101158911A (en) .Net program protection method and device
CN112163195B (en) Virtual machine software protection method based on stack hiding
CN105022936A (en) Class file encryption and decryption method and class file encryption and decryption device
JPH10301774A (en) Method for providing software package and provider station and user station for realizing the same method and basic software package
CN113010856A (en) Dynamic asymmetric encryption and decryption JavaScript code obfuscation method and system
US20150169881A1 (en) Method And Apparatus For Providing String Encryption And Decryption In Program Files
CN110781462B (en) Resource confusion method and device
CN107908392A (en) Metadata acquisition tool bag method for customizing, device, terminal and storage medium
CN112115427A (en) Code obfuscation method, device, electronic device and storage medium
CN110457869B (en) Program compiling and encrypting method and device, storage medium and electronic equipment
KR102001046B1 (en) Apparatus and Method of Providing Security, and Apparatus and Method of Executing Security for Common Intermediate Language
CN113010857A (en) JavaScript code obfuscation method and system capable of customizing rules
CN107871066B (en) Code compiling method and device based on android system
CN107220528A (en) The protection of java applet and operation method, device and terminal
CN113449330A (en) Method for transmitting Javascript encrypted file
CN117390603A (en) Access method, device, electronic equipment and medium based on front-end code encryption
CN113282294B (en) Android platform Java character string confusion method and device
CN114968206A (en) Dynamic confusion method and system for programming language codes

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