CN109325343B - Java program execution method and device - Google Patents

Java program execution method and device Download PDF

Info

Publication number
CN109325343B
CN109325343B CN201811080009.2A CN201811080009A CN109325343B CN 109325343 B CN109325343 B CN 109325343B CN 201811080009 A CN201811080009 A CN 201811080009A CN 109325343 B CN109325343 B CN 109325343B
Authority
CN
China
Prior art keywords
program
java
processed
java program
verification module
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
CN201811080009.2A
Other languages
Chinese (zh)
Other versions
CN109325343A (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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield 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 Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN201811080009.2A priority Critical patent/CN109325343B/en
Publication of CN109325343A publication Critical patent/CN109325343A/en
Application granted granted Critical
Publication of CN109325343B publication Critical patent/CN109325343B/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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Abstract

The embodiment of the invention discloses a Java program execution method and a Java program execution device. Wherein the method comprises the following steps: starting a Java execution environment as a subprocess by a first process; the first process loads a security verification module in the Java execution environment; intercepting the Java program to be processed of the Java execution environment through the security verification module, and executing the Java program to be processed after verifying that the intercepted Java program to be processed is a trusted program. The method provided by the embodiment of the invention can prohibit the execution of the untrusted program, thereby effectively preventing the Java program from being decompiled and stolen.

Description

Java program execution method and device
Technical Field
The embodiment of the invention relates to the field of software security, in particular to a Java program execution method and device.
Background
Reverse engineering (also called decompilation) of computer software refers to performing "Reverse analysis and research" on a target program (such as an executable program) of software of another person to derive design elements such as ideas, principles, structures, algorithms, processing procedures, operation methods and the like used by a software product of another person, and source codes may be derived under certain specific conditions. Once a program is decompiled, it will cause a serious loss to the owner of the copyright of the program.
In theory, executable programs of various systems can be decompiled, and particularly, a Java platform can be copied away and decompiled more easily due to the fact that Java programs have the decompilable characteristic, so that the copyright of original programs is lost. In order to protect the Java program, the existing method is to encrypt the Java program. However, when the Java program is executed, the Java execution environment automatically decrypts the encrypted Java program, so that the plaintext of the Java program is exposed, and is easily accessed and stolen by a malicious program, and the Java program cannot be effectively protected.
Disclosure of Invention
The embodiment of the invention provides a Java program execution method and a Java program execution device, which are used for preventing a Java program from being decompiled and stolen.
In a first aspect, an embodiment of the present invention provides a Java program execution method, including:
starting a Java execution environment as a subprocess by a first process;
the first process loads a security verification module in the Java execution environment;
intercepting the Java program to be processed of the Java execution environment through the security verification module, and executing the Java program to be processed after verifying that the intercepted Java program to be processed is a trusted program.
In a second aspect, an embodiment of the present invention further provides a Java program execution apparatus, including:
one or more processors;
a memory for storing one or more programs,
when the one or more programs are executed by the one or more processors, the one or more processors implement the Java program execution method of any embodiment.
According to the technical scheme, a Java execution environment is started as a subprocess by a first process, a security verification module is loaded in the Java execution environment, a Java program to be processed of the Java execution environment is intercepted by the security verification module, the intercepted Java program to be processed is verified to be a trusted program, then the Java program to be processed is executed, the Java program to be processed is verified by the security verification module before the Java program to be processed is executed, and if the Java program to be processed is verified to be the trusted program, the Java program to be processed is executed, so that the untrusted program is forbidden to be executed in the Java execution environment, and the Java program is effectively prevented from being decompiled and stolen.
Drawings
Fig. 1 is a flowchart of a Java program execution method according to an embodiment of the present invention;
fig. 2 is a flowchart of a Java program execution method according to a second embodiment of the present invention;
fig. 3 is a flowchart of a Java program execution method according to a third embodiment of the present invention;
fig. 4 is a schematic structural diagram of a Java program execution device according to a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
Fig. 1 is a flowchart of a Java program execution method according to an embodiment of the present invention, where the embodiment is applicable to a Java platform, and the method can be executed by a Java program execution device, and the device can be composed of hardware and/or software. As shown in fig. 1, the method specifically comprises the following steps:
s110, starting the Java execution environment as a sub-process by the first process.
Optionally, before the first process starts the Java execution environment as a child process, the method further includes: a first process, a Java execution environment, and a security verification module are injected. The embodiment of the invention does not modify the Java execution environment.
And after the first process is started, starting the Java execution environment as a sub-process.
S120, the first process loads a security verification module in the Java execution environment.
Optionally, S120 includes:
the first step is as follows: and the first process suspends the Java execution environment after acquiring the identifier of the Java execution environment. Specifically, after the first process starts the Java execution environment as a child process, the identifier pid of the Java execution environment is acquired.
The second step is that: and the first process searches the function address of the opening function of the dynamic link library in the Java execution environment according to the identification. Specifically, the first process looks up the function address of the dynamic link library open function (i.e., dlopen function) in the Java execution environment process based on the above-mentioned identification pid. Wherein, the dlopen function is a computer function, and the function is to open the specified dynamic link library in the specified mode and return a handle to the calling process of the dlsym.
The third step: the first process makes the register point to the function address of the dynamic link library opening function and calls the parameter of the security verification module to realize the loading of the security verification module. Specifically, the eip register or the rip register is made to point to the function address of the dlopen function. The register comprises an eip register and a rip register, the eip register is used for storing an address of an instruction to be read by the CPU, the eip register is expanded into a rip 64-bit instruction register under a 64-bit mode, and the CPU reads the instruction to be executed through the address in the register. Specifically, the first process, after finding the function address of the dlopen function, points the eip register or the rip register to the function address of the dlopen function to execute the dlopen function. At this time, the parameters of the security authentication module are ready, wherein the parameters of the security authentication module are dlopen parameters. After the first process calls the parameters of the security verification module, the security verification module is loaded in the Java execution environment. And after the loading of the security verification module is finished, restoring the value of the register and continuing to operate.
S130, intercepting the Java program to be processed of the Java execution environment through the security verification module, and executing the Java program to be processed after verifying that the intercepted Java program to be processed is a trusted program.
Compared with the prior art that the Java platform directly decrypts the encrypted Java program, the embodiment of the invention loads the security verification module in the Java execution environment, intercepts the Java program to be processed through the security verification module, and executes the Java program to be processed only after the Java program to be processed is verified to be a trusted program.
In the scheme, a hook function is loaded in the security verification module; and intercepting the Java program to be processed of the Java execution environment through the hook function, and executing the Java program to be processed after verifying that the intercepted Java program to be processed is a trusted program.
Wherein loading the hook function in the security verification module comprises: (1) acquiring a loading address of the dynamic link library, and if a dlopen function is called to open the dynamic link library, acquiring the loading address of the dynamic link library; (2) acquiring a function starting address of the dynamic link library, and replacing the function starting address as the address of a hook function; for example, the code of the function start address is replaced by jmp xx xx xx xx xx xx, wherein xx xx xx xx xx is the address of the hook function. Thus, code execution up to this point is intercepted by the hooking function and the replaced function contents are written to other addresses, so that the replaced function can be called to continue execution. The hook function may include open, read, lseek, stat, close, and other functions.
According to the technical scheme, the Java execution environment is started as the subprocess by the first process, the security verification module is loaded in the Java execution environment, the Java program to be processed of the Java execution environment is intercepted by the security verification module, the intercepted Java program to be processed is verified to be a trusted program, then the Java program to be processed is executed, before the Java program to be processed is executed, the Java program to be processed is verified by the security verification module, if the Java program to be processed is verified to be the trusted program, then the Java program to be processed is executed, so that the execution of the untrusted program in the Java execution environment is forbidden, and the Java program is effectively prevented from being decompiled and stolen.
Example two
Fig. 2 is a flowchart of a Java program execution method according to a second embodiment of the present invention, where this embodiment optimizes "the Java program to be processed that is verified and intercepted by the security verification module as a trusted program" to "when the Java program to be processed is verified to be an encrypted program of a trusted party or a program in a white list by the security verification module, it is determined that the Java program to be processed is a trusted program" on the basis of various optional implementations of the foregoing embodiment. As shown in fig. 2, the method specifically includes the following steps:
s210, starting the Java execution environment as a sub-process by the first process.
S220, the first process loads a security verification module in the Java execution environment.
And S230, intercepting the Java program to be processed of the Java execution environment through the security verification module.
S240, when the Java program to be processed is verified to be the encrypted program of the trusted party or the program in the white list through the security verification module, the Java program to be processed is determined to be the trusted program.
When the security verification module determines that the Java program to be processed contains the encryption identifier of the trusted party, the Java program to be processed is determined to be the encryption program of the trusted party.
The encrypted program of the trusted party refers to a Java program developed by a trusted developer or a third party, and the generation process of the encrypted program comprises the following steps: selecting star jar packets and class packets to be encrypted in the Java program; generating a random key passowrd1, and encrypting the star jar packet and the class packet to be encrypted by adopting passowrd1 to generate an encrypted program packet content 1; invoking the information security device to encrypt password1 results in password2, and the information security device includes but is not limited to a dongle, etc. Next, password2 and content1 are both saved in the output encrypted file. The trusted encryption identifier is set in the password2 and/or the content1, and if the company a is a trusted party, the output encrypted file carries the "a" or other trusted identifiers capable of identifying the company a.
And when the to-be-processed Java program is determined to contain the encryption identifier of the trusted party through the hook function, determining that the to-be-processed Java program is the encryption program of the trusted party, and then adding the to-be-processed Java program into an encryption program list for subsequent decryption processing.
Further, the white list includes Java programs of untrusted parties that can be executed trustfully. The white list making process includes the following steps: determining all jar packages and class packages used in the Java system, and selecting files needing whitening from the jar packages and the class packages to form a program list. Next, the feature codes of each program in the program list are calculated, including but not limited to MD5 values, hash values, and the like. And identifying the programs in the program list by using the feature codes to form a corresponding relation of 'program-feature codes'.
In the embodiment of the invention, after the security verification module is loaded in the Java execution environment, a white list is loaded in the process of initializing the security verification module, and programs in the white list are identified by the feature codes. Specifically, in the process of initializing the security verification module, the white list is loaded according to the position of the set white list. Optionally, the verifying, by the security verification module, that the Java program to be processed is a program in a white list includes: firstly, verifying that the program to be processed is a jar or class program through a hook function, then, obtaining the feature code of the program to be processed, if the feature code of the Java program to be processed is in a white list, verifying that the Java program to be processed is the program in the white list, and determining that the Java program to be processed is a trusted program. Otherwise, if the feature code of the Java program to be processed is not in the white list, verifying that the Java program to be processed is not the program in the white list, and determining that the Java program to be processed is the untrusted program.
And S250, executing the Java program to be processed through the security verification module.
In the embodiment of the present invention, the method further includes: and calling the information security equipment through the security verification module to decrypt the first key contained in the Java program to be processed, thereby obtaining a second key used for decrypting the encrypted program package contained in the Java program to be processed.
Optionally, after determining that the Java program to be processed includes the encrypted identifier of the trusted party, the security verification module invokes the information security device to decrypt a first key included in the Java program to be processed, and stores a second key obtained by decryption.
And after receiving an instruction of reading an encrypted program package in the Java program to be processed, judging whether the program to be read is in an encrypted program list, and if so, decrypting the encrypted program package by using the second key obtained by decryption by using the security verification module.
When the Java program to be processed is verified to be a program in the white list through the security verification module, after the Java program to be processed is determined to be a trusted program, executing the Java program to be processed, for example, calling an original open function to open the Java program to be processed. Otherwise, when the security verification module verifies that the Java program to be processed is not the program in the white list, the Java program to be processed is refused to be executed after the Java program to be processed is determined to be the untrusted program.
In the embodiment, when the to-be-processed Java program is verified to be the encrypted program of the trusted party or the program in the white list by the security verification module, the to-be-processed Java program is determined to be the trusted program, the credibility of the to-be-processed Java program is verified by adopting a method of encrypting the trusted party or filtering the white list, and the access of the non-trusted party and the program which is not in the white list to the Java program is prohibited, so that the Java program is effectively protected, and the Java program is prevented from being decompiled and stolen. Further, when the security verification module determines that the Java program to be processed contains the encryption identifier of the trusted party, it is determined that the Java program to be processed is the encryption program of the trusted party, and whether the Java program to be processed is the encryption program of the trusted party can be accurately determined through the encryption identifier. Further, the information security device is used for decrypting the Java program, so that the Java program can be effectively protected.
EXAMPLE III
Fig. 3 is a flowchart of a Java program execution method according to a third embodiment of the present invention, which is further optimized based on various optional implementations of the foregoing embodiments, specifically, "verifying that an intercepted Java program to be processed is a trusted program by using a security verification module" is optimized to "determining whether the Java program to be processed is an encrypted program of a trusted party by using the security verification module," and if the Java program to be processed is an encrypted program of an untrusted party, verifying whether the Java program to be processed is a program in a white list; and if the Java program to be processed is verified to be a program in the white list, determining that the Java program to be processed is a trusted program ". As shown in fig. 3, the method specifically includes the following steps:
s310, the first process starts the Java execution environment as a sub-process.
S320, loading a security verification module in the Java execution environment by the first process.
S330, intercepting the Java program to be processed of the Java execution environment through the security verification module.
S340, verifying whether the Java program to be processed is the encrypted program of the trusted party through the security verification module, and executing S360 if the Java program to be processed is verified to be the encrypted program of the trusted party; if the Java program to be processed is verified to be the encrypted program of the non-trusted party, S350 is executed.
Optionally, if the Java program to be processed does not contain the encryption identifier of the trusted party, it is indicated that the Java program to be processed is an encrypted program of an untrusted party. Further optionally, it is determined by the hooking function whether the Java program to be processed contains the encrypted identifier of the trusted party.
And if the Java program to be processed is the encrypted program of the non-trusted party, further verifying whether the Java program to be processed is a program in a white list.
And S350, verifying whether the Java program to be processed is a program in a white list through a security verification module. If the Java program to be processed is verified to be a program in the white list, S380 is executed; if it is verified that the Java program to be processed is not a program in the white list, S370 is performed.
The method for verifying whether the Java program to be processed is a program in the white list through the security verification module is described in detail in the foregoing embodiments, and details are not repeated herein.
And S360, determining the Java program to be processed as a trusted program, and executing the Java program to be processed through the security verification module.
Optionally, if the Java program to be processed is verified as the encrypted program of the trusted party, and it is determined that the Java program to be processed is the trusted program, the Java program to be processed is added to the encrypted program list. And when the corresponding read instruction is received, decrypting the Java program to be processed and executing the decrypted Java program to be processed. The method for decrypting the Java program to be processed is described in detail in the foregoing embodiments, and is not described herein again.
Optionally, if the Java program to be processed is verified as a program in the white list, determining that the Java program to be processed is a trusted program, and calling an original open function to open the Java program to be processed.
And S370, determining the Java program to be processed as an untrusted program, and prohibiting the Java program to be processed from being executed through the security verification module.
And S380, calling the original function to open the Java program to be processed.
The following describes in detail the process of determining whether the Java program to be processed is a trusted program by the hook function, executing the Java program to be processed, and prohibiting the execution of the Java program to be processed in the form of code. The specific code is as follows, wherein pathname is the name of the Java program to be processed.
Figure BDA0001801668360000091
Figure BDA0001801668360000101
Figure BDA0001801668360000111
In this embodiment, after determining that the Java program to be processed is an encrypted program of an untrusted party, the security verification module verifies whether the Java program to be processed is a program in a white list; if the Java program to be processed is verified to be the program in the white list, the Java program to be processed is determined to be the trusted program, so that the Java program to be processed is filtered in a complementary mode by adopting two filtering conditions of an encryption program and the white list of a trusted party, malicious and unsafe Java programs can be effectively filtered, the Java program not in the white list is forbidden to be executed, and the Java program is protected more effectively.
Example four
Fig. 4 is a schematic structural diagram of a Java program execution device according to a fourth embodiment of the present invention, as shown in fig. 4, the device includes a processor 40 and a memory 41; the number of the processors 40 in the device can be one or more, and one processor 40 is taken as an example in fig. 4; the processor 40 and the memory 41 in the electronic device may be connected by a bus or other means, and fig. 4 illustrates the connection by the bus as an example.
The memory 41 serves as a computer-readable storage medium for storing software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the Java program execution method in the embodiment of the present invention, for example, a first process and a security authentication module. The processor 40 executes various functional applications and data processing of the apparatus by executing software programs, instructions, and modules stored in the memory 41, that is, implements the above-described Java program execution method.
The memory 41 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the memory 41 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, memory 41 may further include memory located remotely from processor 40, which may be connected to the device over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
From the above description of the embodiments, it is obvious for those skilled in the art that the present invention can be implemented by software and necessary general hardware, and certainly, can also be implemented by hardware, but the former is a better embodiment in many cases. Based on such understanding, the technical solutions of the present invention may be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods of the embodiments of the present invention.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (7)

1. A Java program execution method, comprising:
starting a Java execution environment as a subprocess by a first process;
the first process loads a security verification module in the Java execution environment;
intercepting a Java program to be processed of the Java execution environment through the security verification module, and executing the Java program to be processed after verifying that the intercepted Java program to be processed is a trusted program;
the method for verifying the intercepted Java program to be processed as the trusted program through the security verification module comprises the following steps:
when the Java program to be processed is verified to be an encrypted program of a trusted party or a program in a white list through a security verification module, determining that the Java program to be processed is the trusted program;
the first process loads a security verification module in the Java execution environment, and the method comprises the following steps:
the first process suspends the Java execution environment after acquiring the identifier of the Java execution environment;
the first process searches a function address of a dynamic link library opening function in the Java execution environment according to the identification;
and the first process enables the register to point to the function address of the dynamic link library opening function and calls the parameter of the security verification module so as to realize the loading of the security verification module.
2. The method according to claim 1, wherein the intercepting, by the security verification module, the Java program to be processed of the Java execution environment, and executing the Java program to be processed after verifying that the intercepted Java program to be processed is a trusted program, comprises:
a hook function is loaded in the security verification module;
and intercepting the Java program to be processed of the Java execution environment through the hook function, and executing the Java program to be processed after verifying that the intercepted Java program to be processed is a trusted program.
3. The method according to claim 1, wherein the verifying the Java program to be processed as the encrypted program of the trusted party by the security verification module comprises:
and when the security verification module determines that the Java program to be processed contains the encryption identifier of the trusted party, determining that the Java program to be processed is the encryption program of the trusted party.
4. The method according to claim 3, wherein after the verifying the Java program to be processed as the encrypted program of the trusted party by the security verification module, the method further comprises:
and calling information security equipment through a security verification module to decrypt the first key contained in the Java program to be processed to obtain a second key used for decrypting the encrypted program package contained in the Java program to be processed.
5. The method according to claim 1, wherein after determining that the Java program to be processed is an encrypted program of an untrusted party through a security verification module, verifying whether the Java program to be processed is a program in a white list.
6. The method of claim 1, wherein the first process loads the whitelist during initialization of the security validation module after loading the security validation module in the Java execution environment, and wherein programs in the whitelist are identified by feature codes.
7. A Java program execution apparatus comprising:
one or more processors;
a memory for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement the Java program execution method as recited in any of claims 1-6.
CN201811080009.2A 2018-09-17 2018-09-17 Java program execution method and device Active CN109325343B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811080009.2A CN109325343B (en) 2018-09-17 2018-09-17 Java program execution method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811080009.2A CN109325343B (en) 2018-09-17 2018-09-17 Java program execution method and device

Publications (2)

Publication Number Publication Date
CN109325343A CN109325343A (en) 2019-02-12
CN109325343B true CN109325343B (en) 2021-08-10

Family

ID=65265590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811080009.2A Active CN109325343B (en) 2018-09-17 2018-09-17 Java program execution method and device

Country Status (1)

Country Link
CN (1) CN109325343B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004098121A2 (en) * 2003-05-02 2004-11-11 Bitarts Limited Delivering a software component
CN101944042A (en) * 2010-09-01 2011-01-12 深圳市拜特科技股份有限公司 Operation method of Java program and electronic terminal
CN102708322A (en) * 2012-05-12 2012-10-03 北京深思洛克软件技术股份有限公司 Method for protecting JAVA application programs in Android system
CN103413075A (en) * 2013-07-10 2013-11-27 北京深思数盾科技有限公司 Method and device for protecting JAVA executable program through virtual machine
CN104200137A (en) * 2014-09-04 2014-12-10 成都卫士通信息产业股份有限公司 Method for guaranteeing self-security of JAVA program
CN107330320A (en) * 2016-04-29 2017-11-07 腾讯科技(深圳)有限公司 The method and apparatus of application process monitoring
CN107480478A (en) * 2017-08-14 2017-12-15 钟尚亮 A kind of encryption method and operation method of JAVA application programs

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7516331B2 (en) * 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
CN101833465B (en) * 2010-04-23 2013-03-13 中国科学院声学研究所 Embedded system supporting dynamic loading operation of application programs
CN102682243A (en) * 2011-03-11 2012-09-19 北京市国路安信息技术有限公司 Method for building dependable JAVA virtual machine platform
CN103377074B (en) * 2012-04-28 2017-02-15 Tcl集团股份有限公司 Method and system for executing programs in java environment
CN103761136A (en) * 2014-02-25 2014-04-30 上海斐讯数据通信技术有限公司 Method for dynamically loading data model based on plug-in
CN103823710B (en) * 2014-03-06 2017-04-12 北京京东尚科信息技术有限公司 Management method and management system for Java virtual machine process in Windows system
CN105677550A (en) * 2015-12-29 2016-06-15 广州华多网络科技有限公司 Performance acquisition-analysis method, device and system based on Linux system
CN106446257A (en) * 2016-10-18 2017-02-22 安徽天达网络科技有限公司 Network data acquiring method
CN106951785B (en) * 2017-03-15 2020-07-07 湖南文盾信息技术有限公司 JAVA virtual machine and trust chain extension method thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004098121A2 (en) * 2003-05-02 2004-11-11 Bitarts Limited Delivering a software component
CN101944042A (en) * 2010-09-01 2011-01-12 深圳市拜特科技股份有限公司 Operation method of Java program and electronic terminal
CN102708322A (en) * 2012-05-12 2012-10-03 北京深思洛克软件技术股份有限公司 Method for protecting JAVA application programs in Android system
CN103413075A (en) * 2013-07-10 2013-11-27 北京深思数盾科技有限公司 Method and device for protecting JAVA executable program through virtual machine
CN104200137A (en) * 2014-09-04 2014-12-10 成都卫士通信息产业股份有限公司 Method for guaranteeing self-security of JAVA program
CN107330320A (en) * 2016-04-29 2017-11-07 腾讯科技(深圳)有限公司 The method and apparatus of application process monitoring
CN107480478A (en) * 2017-08-14 2017-12-15 钟尚亮 A kind of encryption method and operation method of JAVA application programs

Also Published As

Publication number Publication date
CN109325343A (en) 2019-02-12

Similar Documents

Publication Publication Date Title
US10148643B2 (en) Authenticating or controlling software application on end user device
EP3387813B1 (en) Mobile device having trusted execution environment
CN106997439B (en) TrustZone-based data encryption and decryption method and device and terminal equipment
JP4912879B2 (en) Security protection method for access to protected resources of processor
EP3270318B1 (en) Dynamic security module terminal device and method for operating same
CN106992851B (en) TrustZone-based database file password encryption and decryption method and device and terminal equipment
US20240031129A1 (en) Data encryption method, data decryption method, terminal, and storage medium
US10050977B2 (en) Preventing misuse of code signing certificates
CN110750791B (en) Method and system for guaranteeing physical attack resistance of trusted execution environment based on memory encryption
JP5575950B2 (en) Wireless terminal device and system protection method
CN114662150A (en) Data acquisition method and device and electronic equipment
CN111479265B (en) Information dissemination method and device, computer equipment and storage medium
CN110855656B (en) Plug-in flow proxy method, device and system capable of realizing application server protection
CN112804222A (en) Data transmission method, device, equipment and storage medium based on cloud deployment
CN109325343B (en) Java program execution method and device
CN110855434B (en) Key processing method, device, terminal equipment and storage medium
CN113177222A (en) Dynamic library processing method and device, electronic equipment and storage medium
CN111209561B (en) Application calling method and device of terminal equipment and terminal equipment
CN112733091A (en) Control method and device for accessing external equipment by application program
CN111753263A (en) Non-inductive encryption and decryption method based on macOS system
CN106897613B (en) Operation execution method and device
US11841970B1 (en) Systems and methods for preventing information leakage
US20170054693A1 (en) Integrity verification system using remote code execution and method thereof
EP3009952A1 (en) System and method for protecting a device against attacks on procedure calls by encrypting arguments
CN106934256B (en) Protection method and device for enterprise data server

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.