CN115168873B - Based on C + + language software anti-cracking method - Google Patents

Based on C + + language software anti-cracking method Download PDF

Info

Publication number
CN115168873B
CN115168873B CN202211098657.7A CN202211098657A CN115168873B CN 115168873 B CN115168873 B CN 115168873B CN 202211098657 A CN202211098657 A CN 202211098657A CN 115168873 B CN115168873 B CN 115168873B
Authority
CN
China
Prior art keywords
attribute
class
encrypted
value
acquiring
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
CN202211098657.7A
Other languages
Chinese (zh)
Other versions
CN115168873A (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.)
Nanjing Guorui Xinwei Software Co ltd
Original Assignee
Nanjing Guorui Xinwei Software 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 Nanjing Guorui Xinwei Software Co ltd filed Critical Nanjing Guorui Xinwei Software Co ltd
Priority to CN202211098657.7A priority Critical patent/CN115168873B/en
Publication of CN115168873A publication Critical patent/CN115168873A/en
Application granted granted Critical
Publication of CN115168873B publication Critical patent/CN115168873B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a software anti-cracking method based on C + + language, belongs to the technical field of program protection, and comprises the following steps: writing an encryption/decryption algorithm program: 1) Writing an encryption algorithm; 2) Compiling a decryption algorithm; 3) Compiling an encryption algorithm and a decryption algorithm into executable files under different platforms; step two: writing a Java agent program: 1) Decrypting encrypted the class file of (1); 2) Giving a designated third party jar to decrypt the class file; 3) Configuring third party jar configuration; 4) Specifying jar configuration information; step three: mounting the agent program: 1) Starting a configuration agent program in the parameters; 2) The start script is executed. The invention is combined with a software system developed based on Java programming language, and encrypts the core service source code and automatically decrypts the software system when in operation.

Description

Software anti-cracking method based on C + + language
Technical Field
The invention relates to a C + + language-based software anti-cracking method, and belongs to the technical field of program protection.
Background
The software development in the software industry is an industry requiring a large amount of manpower and material investment, a software product is developed and issued, the core code is easy to be plagiarized by the same party, so that after the research and development are put into use, the market popularization difficulty is high, and the recovery cost is difficult. Therefore, how to encrypt the core service source code without affecting the operation of the software system can be automatically decrypted during the operation, thereby preventing the core service source code from being stolen at will, and becoming a concern of software enterprises. Through research and development of a team, a software system developed based on the combination of C + + language and Java programming language is provided by an applicant unit, a method for encrypting a core service source code and automatically decrypting the software system during operation can be achieved, and a technical method for protecting the core service code is achieved.
Disclosure of Invention
In order to solve the technical problems, the invention provides a software anti-cracking method based on C + + language, which has the following specific technical scheme:
a software anti-cracking method based on C + + language comprises the following operation steps:
the method comprises the following steps: writing an encryption/decryption algorithm program:
1) Writing an encryption algorithm;
2) Compiling a decryption algorithm;
3) Compiling the encryption algorithm and the decryption algorithm into executable files under different platforms;
step two: writing a Java agent program:
1) Decrypting the encrypted class file;
2) Giving a designated third party jar to decrypt the class file;
3) Configuring third party jar configuration;
4) Specifying jar configuration information;
step three: mounting the agent program:
1) Starting a configuration agent program in the parameters;
2) The start script is executed.
Further, the specific process of implementing the encryption algorithm in step 1) is as follows:
step 1: acquiring a business code word throttling array bytes;
step 2: judging whether the business code word throttling array bytes contain an encrypted mark sign;
and 3, step 3: if the encrypted flag sign is included, the encrypted flag sign is indicated to be encrypted and not processed, and the service code word throttling array bytes are directly returned;
and 4, step 4: if the encrypted flag sign is not included, indicating that the data is not encrypted, a new byte stream data newBytes is generated and returned through the encryption logic.
Further, the specific process of implementing the decryption algorithm in step one, step 2), is as follows:
step 1: acquiring a business code word throttling array bytes;
step 2: judging whether the business code word throttling array bytes contain an encrypted mark sign;
and step 3: if the encrypted sign is not included, indicating that the data is not encrypted and is not processed, and directly returning to the service code word throttling array bytes;
and 4, step 4: if the encrypted flag sign is included, indicating that the data is encrypted, a new byte stream data newBytes is generated and returned through the decryption logic.
Further, the specific process of decrypting the encrypted class file in step two, 1), is as follows:
step 1: acquiring byte arrays of class file byte streams;
step 2: calling a decryption program decryption method;
and step 3: the new byte stream data newBytes is returned.
Further, in the second step, 2), the specific process of giving the third party jar decryption class file is as follows:
step 1: loading a designated third party jar configuration file jarInfo;
step 2: circularly traversing the jarInfo; jarlnfo 1, jarlnfo 2.., jarlnfo;
and step 3: splicing { jarName } - { jarVersion } of jarInfo 1;
and 4, step 4: judging whether a { jarName } - { jarVersion }. CryptActive file is contained;
and 5: if the file exists, analyzing the file to form an object enClass, and acquiring a className of an attribute 'className' in the enClass;
step 6: the agent program intercepts byte stream array bytes with class name equal to className;
and 7: converting byte stream array bytes with class name equal to className into type object class;
and step 8: acquiring value constractors of attribute constractors in the enClass;
and step 9: traversing constractors; constractor 1, constractor 2.., constractors;
step 10: acquiring the value parameters of the attribute 'parameters' in the constructor 1;
step 11: circularly traversing and acquiring a constractor ParameterClassNames of the attribute 'className' in the parameters;
step 12: judging whether the class comprises a construction function class _ constructor with parameter types being constructor parameter names in sequence;
step 13: if the attribute "option" in the constractor 1 exists, the content of the attribute "before content" is written into the head of the class _ constractor if the attribute "before content" is written into the tail of the class _ constractor if the attribute "after" is written into the head of the class _ constractor, the value linerumber of the attribute "linerumber" is acquired if the attribute "line" is written into the first linerumber line in the class _ constractor;
step 14: repeating the step 10 until the references are traversed;
step 15: obtaining a value method of an attribute 'methods' in an enClass;
step 16: traversing methods; methods 1, method2.., methods;
and step 17: acquiring a value methodName of an attribute 'methodName' in method 1;
step 18: acquiring the value parameters of the attribute 'parameters' in the method 1;
step 19: circularly traversing and acquiring the value methodParametertClassNames of the attribute 'className' in the parameters;
step 20: judging whether class contains method name and parameter type a construction function class _ method which is sequentially a method Parameteterclass Names;
step 21: if yes, obtaining the value of attribute "option" in method1, if the value is "before", writing the content of attribute "before content" into the head of class _ method, if the value is "after", writing the content of attribute "after content" into the tail of class _ method, if the value is "line", obtaining the value linenber of attribute "linenber", and writing the content of attribute "linenber" into the second linenber line in class _ method;
step 22: repeating the step 17 until the methods traversal is completed;
step 23: and (5) repeating the step (3) until the traversal of the jarInfo is completed.
Further, the specific process of configuring the agent in step 1) and the start parameter includes:
step 1: acquiring a path agentPath of the agent program;
step 2: setting the starting parameters as java: agentpath.
The invention has the beneficial effects that:
1. and the service code of the core is protected, and illegal embezzlement is prevented.
2. The method is flexible to use and has no invasion to service codes.
3. And providing decryption function for the third party jar in a configuration mode.
Drawings
Figure 1 is a schematic diagram of the encryption process of the present invention,
fig. 2 is a schematic diagram of the decryption process in the present invention.
Detailed Description
The present invention will now be described in further detail with reference to the accompanying drawings.
The software anti-cracking method based on the C + + language comprises the following operation steps:
the method comprises the following steps: writing an encryption/decryption algorithm program:
1) Writing an encryption algorithm:
step 1: obtaining a business code word throttling array bytes;
and 2, step: judging whether the business code word throttling array bytes contain an encrypted mark sign;
and step 3: if the encrypted flag sign is included, the encrypted flag sign is indicated to be encrypted and not processed, and the service code word throttling array bytes are directly returned;
and 4, step 4: if the encrypted flag sign is not contained, indicating that the data is not encrypted, a new byte stream data newBytes is generated and returned through the encryption logic.
2) Writing a decryption algorithm:
step 1: acquiring a business code word throttling array bytes;
step 2: judging whether the business code word throttling array bytes contain an encrypted mark sign;
and step 3: if the encrypted sign is not contained, indicating that the code is not encrypted and is not processed, and directly returning to the service code word throttling array bytes;
and 4, step 4: if the encrypted flag sign is included, it indicates that the data is encrypted, and a new byte stream data newBytes is generated and returned through the decryption logic.
3) Compiling the encryption algorithm and the decryption algorithm into executable files under different platforms;
step two: writing a Java agent program:
1) Decrypting the encrypted class file:
step 1: acquiring byte arrays of class file byte streams;
step 2: calling a decryption program decryption method;
and 3, step 3: the new byte stream data newBytes is returned.
2) Giving a designated third party jar to decrypt the class file:
step 1: loading a designated third party jar configuration file jarInfo; the content of the configuration file is as follows:
[
"asm-all",
"javassist",
"spring-core",
"tomcat-coyote"
];
step 2: circularly traversing the jarInfo; jarlnfo 1, jarlnfo 2.., jarlnfn;
and step 3: splicing { jarName } - { jarVersion } of jarInfo 1;
and 4, step 4: judging whether a { jarName } - { jarVersion }. CryptActive file is contained;
and 5: if the file exists, analyzing the file to form an object enClass, and acquiring a value className of an attribute 'className' in the enClass, wherein the content of the file is as follows:
[
{
"className": "javassist.CtClassType",
"constructors": [
{
"option": "line",
"parameters": [
{
"type": "java.io.InputStream"
},
{
"type": "javassist.ClassPool"
}
],
"lineNumber": 1,
"lineContent": "byte[]target=com.glaway_.crypt.Decrypt.handle(source)"
}
]
}
];
and 6: the agent program intercepts byte stream array bytes with class name equal to className;
and 7: converting byte stream array bytes with class name equal to className into type object class;
and 8: acquiring value constracts of attribute constracts in enClass;
and step 9: traversing constractors; constractor 1, constractor 2.., constractors;
step 10: acquiring the value parameters of the attribute 'parameters' in the constructor 1;
step 11: circularly traversing and acquiring a constractor ParameterClassNames of the attribute 'className' in the parameters;
step 12: judging whether the class comprises a construction function class _ constructor with the parameter types of constructor parameter classes names in sequence;
step 13: if the attribute "option" in the constractor 1 exists, the content of the attribute "before content" is written into the head of the class _ constractor if the attribute "before content" is written into the tail of the class _ constractor if the attribute "after" is written into the head of the class _ constractor, the value linerumber of the attribute "linerumber" is acquired if the attribute "line" is written into the first linerumber line in the class _ constractor;
step 14: repeating the step 10 until the references are traversed;
step 15: obtaining a value method of an attribute 'methods' in an enClass;
step 16: traversing methods; methods 1, method2.. Said, methods;
and step 17: acquiring a value methodName of an attribute 'methodName' in the method 1;
step 18: acquiring the value parameters of the attribute 'parameters' in the method 1;
step 19: circularly traversing and acquiring the value methodParametertClassNames of the attribute 'className' in the parameters;
step 20: judging whether class comprises a construction function class _ method with a method name of methodName and parameter types of methodParameterClassNames in sequence;
step 21: if yes, obtaining the value of attribute "option" in method1, if the value is "before", writing the content of attribute "before content" into the head of class _ method, if the value is "after", writing the content of attribute "after content" into the tail of class _ method, if the value is "line", obtaining the value linenber of attribute "linenber", and writing the content of attribute "linenber" into the second linenber line in class _ method;
step 22: repeating the step 17 until the methods traversal is completed;
step 23: and (5) repeating the step (3) until the traversal of the jarInfo is completed.
3) Configuring third party jar configuration;
4) Specifying jar (javasissst __3.22.0-GA. Jar) configuration information;
step three: mounting the agent program:
1) The configuration agent in the starting parameter:
step 1: acquiring a path agentPath of the agent program;
step 2: setting a starting parameter-java: agentpath.
2) The start script is executed.
Example (b):
fig. 1 and 2 illustrate a background principle of the present invention for realizing the functions thereof, and the present invention combines a software anti-cracking method based on C + + language with a software system developed based on Java programming language to encrypt a core service source code and automatically decrypt the software system when the software system runs.
When the invention is actually used, the process is as follows:
the method comprises the following steps: code encryption
Executable jar and an execution script are provided, the execution must have execution authority, and the content of the execution script is as follows:
set JAVA_HOME=D:\jdk1.8.0.65
%JAVA_HOME%\bin\java -classPath encrypt.jar com.glaway.encrypt in="source" out="target"
the parameter meanings are shown in the following table:
name(s) Description of the preferred embodiment
%JAVA_HOME%\bin\java java program
-classPath encrypt.jar J providing encryption capabilityar
com.glaway.encrypt Providing actual classes of cryptographic capabilities
in="source" Directory of service codes
out="target" Directory of encrypted service codes
Step two: agent program
Adding a starting parameter when the software system is started, wherein the starting script content is as follows:
set JAVA_HOME=D:\jdk1.8.0.65
%JAVA_HOME%\bin\java -javaagent:agent.jar spring-cloud-5.0.x.jar
the parameter meanings are shown in the following table:
name (R) Description of the invention
%JAVA_HOME%\bin\java java program
-javaagent:agent.jar Including parameters of agents
spring-cloud-5.0.x.jar Executable jar provided by software system
In light of the foregoing description of the preferred embodiment of the present invention, many modifications and variations will be apparent to those skilled in the art without departing from the spirit and scope of the invention. The technical scope of the present invention is not limited to the content of the specification, and must be determined according to the scope of the claims.

Claims (5)

1. A software anti-cracking method based on C + + language is characterized in that: the method comprises the following operation steps:
the method comprises the following steps: writing an encryption/decryption algorithm program:
1) Writing an encryption algorithm;
2) Compiling a decryption algorithm;
3) Compiling the encryption algorithm and the decryption algorithm into executable files under different platforms;
step two: writing a Java agent program:
1) Decrypting the encrypted class file;
2) Giving a designated third party jar to decrypt the class file, wherein the specific process is as follows:
step 1: loading a designated third party jar configuration file jarInfo;
step 2: circularly traversing the jarInfo; jarlnfo 1, jarlnfo 2.., jarlnfo;
and 3, step 3: splicing { jarName } - { jarVersion } of jarInfo 1;
and 4, step 4: judging whether a { jarName } - { jarVersion }. CryptActive file is contained;
and 5: if the file exists, analyzing the file to form an object enClass, and acquiring a value className of an attribute className in the enClass;
step 6: the agent program intercepts byte stream array bytes with class name equal to className;
and 7: converting byte stream array bytes with class name equal to className into type object class;
and 8: acquiring value constractors of attribute constractors in the enClass;
and step 9: traversing constractors; constractor 1, constractor 2.., constractors;
step 10: acquiring the value parameters of the attribute 'parameters' in the constractor 1;
step 11: circularly traversing and acquiring a constractor ParameterClassNames of the attribute 'className' in the parameters;
step 12: judging whether the class comprises a construction function class _ constructor with parameter types being constructor parameter names in sequence;
step 13: if the attribute "option" in the constractor 1 exists, the content of the attribute "before content" is written into the head of the class _ constractor if the attribute "before content" is written into the tail of the class _ constractor if the attribute "after" is written into the head of the class _ constractor, the value linerumber of the attribute "linerumber" is acquired if the attribute "line" is written into the first linerumber line in the class _ constractor;
step 14: repeating the step 10 until the constractors are traversed;
step 15: obtaining a value method of an attribute 'methods' in the enClass;
step 16: traversing methods; methods 1, method2.., methods;
and step 17: acquiring a value methodName of an attribute 'methodName' in the method 1;
step 18: acquiring the value parameters of the attribute 'parameters' in the method 1;
step 19: circularly traversing and acquiring the value methodParameterClassNames of the attribute 'className' in the parameters;
step 20: judging whether class comprises a construction function class _ method with a method name of methodName and parameter types of methodParameterClassNames in sequence;
step 21: if yes, obtaining the value of attribute "option" in method1, if the value is "before", writing the content of attribute "before content" into the head of class _ method, if the value is "after", writing the content of attribute "after content" into the tail of class _ method, if the value is "line", obtaining the value linenber of attribute "linenber", and writing the content of attribute "linenber" into the second linenber line in class _ method;
step 22: repeating the step 17 until the methods traversal is completed;
step 23: repeating the step 3 until traversal of the jarInfo is completed;
3) Configuring third party jar configuration;
4) Specifying jar configuration information;
step three: mounting the agent program:
1) Starting a configuration agent program in the parameters;
2) The start script is executed.
2. The C + + language-based software anti-cracking method according to claim 1, wherein: the specific process of realizing the encryption algorithm in the step 1) is as follows:
step 1: obtaining a business code word throttling array bytes;
step 2: judging whether the business code word throttling array bytes contain an encrypted mark sign;
and step 3: if the encrypted flag sign is included, the encrypted flag sign is indicated to be encrypted and not processed, and the service code word throttling array bytes are directly returned;
and 4, step 4: if the encrypted flag sign is not included, indicating that the data is not encrypted, a new byte stream data newBytes is generated and returned through the encryption logic.
3. The C + + language-based software anti-cracking method according to claim 1, wherein: the specific process of realizing the decryption algorithm in the step one 2) is as follows:
step 1: obtaining a business code word throttling array bytes;
step 2: judging whether the business code word throttling array bytes contain an encrypted mark sign;
and step 3: if the encrypted sign is not contained, indicating that the code is not encrypted and is not processed, and directly returning to the service code word throttling array bytes;
and 4, step 4: if the encrypted flag sign is included, it indicates that the data is encrypted, and a new byte stream data newBytes is generated and returned through the decryption logic.
4. The C + + language-based software anti-cracking method according to claim 1, wherein: the specific process of 1) decrypting the encrypted class file in the step two is as follows:
step 1: acquiring byte arrays of class file byte streams;
step 2: calling a decryption program decryption method;
and step 3: the new byte stream data newBytes is returned.
5. The C + + language-based software anti-cracking method according to claim 1, wherein: the specific process of configuring the agent in the step 1) and the starting parameters is as follows:
step 1: acquiring a path agentPath of the agent program;
step 2: setting the starting parameters as java: agentpath.
CN202211098657.7A 2022-09-09 2022-09-09 Based on C + + language software anti-cracking method Active CN115168873B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211098657.7A CN115168873B (en) 2022-09-09 2022-09-09 Based on C + + language software anti-cracking method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211098657.7A CN115168873B (en) 2022-09-09 2022-09-09 Based on C + + language software anti-cracking method

Publications (2)

Publication Number Publication Date
CN115168873A CN115168873A (en) 2022-10-11
CN115168873B true CN115168873B (en) 2022-11-29

Family

ID=83482350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211098657.7A Active CN115168873B (en) 2022-09-09 2022-09-09 Based on C + + language software anti-cracking method

Country Status (1)

Country Link
CN (1) CN115168873B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117828555B (en) * 2024-03-05 2024-05-28 山东浪潮科学研究院有限公司 Low-cost Java source code protection method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022936A (en) * 2014-04-30 2015-11-04 北京畅游天下网络技术有限公司 Class file encryption and decryption method and class file encryption and decryption device
CN108628661A (en) * 2017-03-24 2018-10-09 郑芳田 The automatic set-up method of cloud manufacturing service, cloud manufacture system
CN108898007A (en) * 2018-06-26 2018-11-27 焦点科技股份有限公司 A kind of safety method based on JavaAgent and dll enhancing Java distribution software
CN113704094A (en) * 2021-08-06 2021-11-26 北京城市网邻信息技术有限公司 Test case knowledge base construction method and device, electronic equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105022936A (en) * 2014-04-30 2015-11-04 北京畅游天下网络技术有限公司 Class file encryption and decryption method and class file encryption and decryption device
CN108628661A (en) * 2017-03-24 2018-10-09 郑芳田 The automatic set-up method of cloud manufacturing service, cloud manufacture system
CN108898007A (en) * 2018-06-26 2018-11-27 焦点科技股份有限公司 A kind of safety method based on JavaAgent and dll enhancing Java distribution software
CN113704094A (en) * 2021-08-06 2021-11-26 北京城市网邻信息技术有限公司 Test case knowledge base construction method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN115168873A (en) 2022-10-11

Similar Documents

Publication Publication Date Title
CN110069905B (en) Device and method for encrypting and decrypting Springboot program
US8966158B2 (en) Data protection technique that protects illicit copying of data maintained in data storage
JP5337411B2 (en) Information concealment method and information concealment device
CN109992987B (en) Script file protection method and device based on Nginx and terminal equipment
KR102433011B1 (en) Method of apk file protection, apk file protection system performing the same, and storage medium storing the same
CN104408337A (en) Reinforcement method for preventing reverse of APK (Android package) file
CN101957903A (en) Method and device for protecting class files
CN111159662A (en) Data processing method and device
CN101872404B (en) Method for protecting Java software program
CN104318135A (en) Java code safety dynamic loading method on basis of trusted execution environment
CN105022936A (en) Class file encryption and decryption method and class file encryption and decryption device
JP2006522387A (en) System and method for managing the execution of computer software
CN102576391A (en) Software license embedded in shell code
US20180067777A1 (en) Application protection method, server, and terminal
CN115168873B (en) Based on C + + language software anti-cracking method
CN103971034A (en) Method and device for protecting Java software
CN109740314A (en) A kind of method that SWF obscures encryption
CN108133147A (en) Guard method, equipment and the readable storage medium storing program for executing of executable code
CN107257282B (en) Code full-package encryption method based on RC4 algorithm
CN112613037A (en) Code checking method and device
CN106326733A (en) Method and apparatus for managing applications in mobile terminal
KR101749209B1 (en) Method and apparatus for hiding information of application, and method and apparatus for executing application
CN117313046A (en) Code reinforcement method, code loading method, device and medium
US9166783B2 (en) Protection method, decryption method, player, storage medium, and encryption apparatus of digital content
JP2013045277A (en) Program obfuscation method and remote debug system

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