CN103761457A - Software protecting method, device and system - Google Patents

Software protecting method, device and system Download PDF

Info

Publication number
CN103761457A
CN103761457A CN201310740020.8A CN201310740020A CN103761457A CN 103761457 A CN103761457 A CN 103761457A CN 201310740020 A CN201310740020 A CN 201310740020A CN 103761457 A CN103761457 A CN 103761457A
Authority
CN
China
Prior art keywords
application program
described application
core code
data file
encryption core
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.)
Withdrawn
Application number
CN201310740020.8A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310740020.8A priority Critical patent/CN103761457A/en
Publication of CN103761457A publication Critical patent/CN103761457A/en
Withdrawn 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/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code

Landscapes

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

Abstract

The embodiment of the invention discloses a software protecting method, device and system. The method comprises that a control terminal can generate the data files of applications, wherein the data files of the applications comprises shelling programs of the applications, encryption core codes of the applications, and the attribute information of the encryption core codes of the applications; a mobile terminal can obtain the data files of the applications, read the encryption core codes of the applications from the data files of the applications according to the shelling programs and the encryption core code attribute information of the applications and decrypt the encryption core codes of the applications to obtain the source codes of the applications and further to run the applications according to the source codes of the applications. According to the embodiment of the software protecting method, device and system, the data files of the applications comprise the encryption core codes and the shelling programs of the applications, so that the security and the anti-cracking capacity of the applications can be improved.

Description

A kind of method for protecting software, Apparatus and system
Technical field
The present invention relates to computer realm, relate in particular to a kind of method for protecting software, Apparatus and system.
Background technology
Along with the development of mobile Internet, the application software that can support by mobile terminal operating system (such as Android Android operating system etc.) realizes increasing function.In prior art, bootlegging and the piracy that can prevent application code by modes such as Code obfuscation or change application program character string informations, but, application code longer-term storage of the prior art is in the installation file and mobile terminal of operating system, for example be stored in the external SD(Secure Digital Memory Card of the built-in internal memory of mobile terminal or mobile terminal, safe digital card) in, cracker can obtain easily, application program for Code obfuscation and change application program character string information, cracker still can slave site download to this application program, can directly to this application program, carry out static dis-assembling and decompiling obtains cracking program, method of software Protection security of the prior art is not high, anti-cracking is low.
Summary of the invention
The embodiment of the present invention provides a kind of method for protecting software, Apparatus and system, for solving prior art cracker, can obtain easily the direct dis-assembling of application program and decompiling and cracks and cause security not high, the technical matters that anti-cracking is low.
Embodiment of the present invention first aspect provides a kind of method for protecting software, comprising:
Obtain the data file of application program, the data file of described application program comprises: the attribute information of the encryption core code of the solution shell side order of described application program, described application program and the encryption core code of described application program;
According to the encryption core code attribute information of the solution shell side order of described application program and described application program, from the data file of described application program, read the encryption core code of described application program;
Encryption core code to the described application program reading is decrypted, the source code of the program that is applied, and move described application program according to the source code of described application program.
In the possible implementation of the first of first aspect, the data file of described application program is: control terminal adds the attribute information of the encryption core code of the encryption core code of described application program and described application program to the data file generating in the solution shell side order of described application program.
In conjunction with the first possibility implementation of first aspect, in the possible implementation of the second of first aspect, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program;
The described encryption core code that reads described application program from the data file of described application program according to the encryption core code attribute information of the solution shell side order of described application program and described application program comprises:
From the data file of described application program, read the length of the core code of described application program;
According to the length of the core code of described application program, from the data file of described application program, read the core code of described application program.
In the third possible implementation of first aspect, the described encryption core code to the described application program reading is decrypted, the source code of the program that is applied, and move described application program according to the source code of described application program, comprising:
The source code of described application program is stored in default internal memory, and described default internal memory comprises: the memory address of dynamic assignment;
By described preset interface, from described default internal memory, load the source code of described application program, the interface of described preset interface for adding in the virtual machine of operating system.
Embodiment of the present invention second aspect provides a kind of method for protecting software, comprising:
Obtain the attribute information of the encryption core code of application program and the encryption core code of described application program;
The attribute information of the encryption core code of the encryption core code of described application program and described application program is added in the solution shell side order of described application program, and generate the data file of described application program;
The data file of the application program of described generation is stored in default memory block, so that mobile terminal obtains the data file of described application program from described default memory block, and move described application program according to the data file of described application program.
In the possible implementation of the first of second aspect, described in obtain the encryption core code of application program and the encryption core code of described application program attribute information comprise:
Obtain the source code of described application program, the source code of described application program is encrypted, obtain the encryption core code of described application program;
The length of calculating the encryption core code of described application program, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program.
In the possible implementation of the second of second aspect, described method also comprises:
In the virtual machine of operating system, add preset interface, so that described mobile terminal loads the data file of described application program by described preset interface.
The embodiment of the present invention third aspect provides a kind of software protecting equipment, comprising:
Acquisition module, for obtaining the data file of application program, the data file of described application program comprises: the attribute information of the encryption core code of the solution shell side order of described application program, described application program and the encryption core code of described application program;
Read module, for reading the encryption core code of described application program according to the encryption core code attribute information of the solution shell side order of described application program and described application program from the data file of described application program;
Execution module, is decrypted for the encryption core code to the described application program reading, the source code of the program that is applied, and move described application program according to the source code of described application program.
In the possible implementation of the first of the third aspect, the data file of described application program is: control terminal adds the attribute information of the encryption core code of the encryption core code of described application program and described application program to the data file generating in the solution shell side order of described application program.
In conjunction with the first possibility implementation of the third aspect, in the possible implementation of the second of the third aspect, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program;
Described read module comprises:
The first reading unit, reads the length of the core code of described application program for the data file from described application program;
The second reading unit, for reading the core code of described application program from the data file of described application program according to the length of the core code of described application program.
In the third possible implementation of the third aspect, described execution module comprises:
Storage unit, for the source code of described application program being stored into default internal memory, described default internal memory comprises: the memory address of dynamic assignment;
Loading unit, for load the source code of described application program from described default internal memory by described preset interface, the interface of described preset interface for adding in the virtual machine of operating system.
Embodiment of the present invention fourth aspect provides a kind of software protecting equipment, comprising:
Acquisition module, for obtaining the attribute information of the encryption core code of application program and the encryption core code of described application program;
Generation module, for the attribute information of the encryption core code of the encryption core code of described application program and described application program being added to the solution shell side order of described application program, and generates the data file of described application program;
Memory module, for the data file of the application program of described generation being stored into default memory block, so that mobile terminal obtains the data file of described application program from described default memory block, and move described application program according to the data file of described application program.
In the possible implementation of the first of fourth aspect, described acquisition module comprises:
Acquiring unit, for obtaining the source code of described application program, is encrypted the source code of described application program, obtains the encryption core code of described application program;
Computing unit, for calculating the length of the encryption core code of described application program, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program.
In the possible implementation of the second of fourth aspect, described device also comprises:
Add module, for the virtual machine in operating system, add preset interface, so that described mobile terminal loads the data file of described application program by described preset interface.
The embodiment of the present invention the 5th aspect provides a kind of security system for software, comprising: comprising: mobile terminal and control terminal; Described mobile terminal, as the third aspect, third aspect the first may~device as described in the third is arbitrary in may mode; Device as described in described control terminal is as arbitrary in may mode in fourth aspect, fourth aspect the first possibility~the second.
Implement the embodiment of the present invention, control terminal can generate the data file of application program, the data file of application program comprises: the solution shell side order of application program, the attribute information of the encryption core code of application program and the encryption core code of application program, mobile terminal can get the data file of this application program, according to the encryption core code attribute information of the solution shell side order of application program and application program, from the data file of application program, read the encryption core code of application program, and the encryption core code of application programs is decrypted, the source code of the program that is applied, thereby run application according to the source code of application program.In the embodiment of the present invention, the data file of application program comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.
Accompanying drawing explanation
In order to be illustrated more clearly in the embodiment of the present invention or technical scheme of the prior art, to the accompanying drawing of required use in embodiment or description of the Prior Art be briefly described below, apparently, accompanying drawing in the following describes is only some embodiments of the present invention, for those of ordinary skills, do not paying under the prerequisite of creative work, can also obtain according to these accompanying drawings other accompanying drawing.
The schematic diagram of a kind of method for protecting software that Fig. 1 provides for the embodiment of the present invention;
The schematic diagram of a kind of method for protecting software that Fig. 2 provides for another embodiment of the present invention;
The structural representation of a kind of software protecting equipment that Fig. 3 provides for the embodiment of the present invention;
The structural representation of a kind of mobile terminal that Fig. 4 provides for the embodiment of the present invention;
The structural representation of a kind of software protecting equipment that Fig. 5 provides for another embodiment of the present invention;
The structural representation of a kind of control terminal that Fig. 6 provides for the embodiment of the present invention.
Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is clearly and completely described, obviously, described embodiment is only the present invention's part embodiment, rather than whole embodiment.Embodiment based in the present invention, those of ordinary skills, not making the every other embodiment obtaining under creative work prerequisite, belong to the scope of protection of the invention.
The embodiment of the present invention provides a kind of method for protecting software, Apparatus and system.A kind of software protecting equipment in the invention process can comprise: as mobile terminals such as smart mobile phone, panel computers; software protecting equipment in the embodiment of the present invention can comprise: the client modules in the control terminals such as computer, server or control terminal; for example, application management client etc.
The embodiment of the present invention provides a kind of method of software Protection can be applied to such as in the mobile terminal operating systems such as Android Android operating system; the concrete restriction that is not subject to the embodiment of the present invention; application program in the embodiment of the present invention comprises: the application program carrying in mobile terminal operating system, or from other websites etc., get can be in the application program of installing and operating in mobile terminal operating system.
In the embodiment of the present invention, the data file of application program comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.Below by specific embodiment, describe.
The process flow diagram of a kind of method for protecting software that Fig. 1 provides for the embodiment of the present invention, the embodiment of the present invention can realize in mobile terminal, and the flow process in the present embodiment comprises step S101~S103 as shown in the figure.
S101, obtains the data file of application program, and the data file of application program comprises: the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program.
As a kind of optional embodiment, the data file of acquisition for mobile terminal application program, wherein, the data file of application program can be: control terminal adds the attribute information of the encryption core code of the encryption core code of application program and application program to the data file generating in the solution shell side order of application program, control terminal is stored in the data file of generation in default memory block, or system operator can upload to this application program web-site or other storage spaces are downloaded for user, mobile terminal can be from this default memory block or as other storage space down load application programs such as websites.
Concrete, the data file of application program is including, but not limited to the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program, also comprises the attribute information etc. of the data file of application program.As shown in the table:
Figure BDA0000448291860000061
Wherein, the data file of application program can be a Dex file, comprise Dex Hader(file header) and Dex Body(main body), the attribute information of the data file of application program is Dex Hader for example, Dex Hader file header can be the Dex file header of standard, and Dex Body comprises: the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program.The attribute information of the encryption core code of application program and the encryption core code of application program chases after after adding solution shell side order.
S102, reads the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program from the data file of application program.
As a kind of optional embodiment, the attribute information of the core code of application program is including, but not limited to the length of the encryption core code of application program, and the encryption core code that reads application program from the data file of application program according to the encryption core code attribute information of the solution shell side order of application program and application program specifically can comprise:
From the data file of application program, read the length of the core code of application program;
According to the length of the core code of application program, from the data file of application program, read the core code of application program.
S103, is decrypted the encryption core code of the application program reading, the source code of the program that is applied, and run application according to the source code of application program.
As a kind of optional embodiment, after the encryption core code of the application program reading, encryption core code to the application program reading is decrypted, the source code of the program that can be applied, also the source code of application program can be stored in default internal memory, default internal memory comprises: the memory address of dynamic assignment, and by the source code of preset interface loading application programs from described default internal memory, the interface of preset interface for adding in the virtual machine of operating system.Concrete, obtain the storage size L of Dex file of the source code of application program, the internal memory that application storage size is L, by the Dex file copy of the source code of application program in the internal memory of this application, concrete, can adopt the byte array in Java language to record memory address, using memory address as parameter, carry out the dynamic load of Dex file of the source code of application program.Further alternative, if while not needing to use the source code of application program, can discharge the internal memory of application.
In the embodiment of the present invention, the source code of the application program obtaining after the encryption core code deciphering of application programs, be stored in the default internal memory of mobile terminal, with in prior art by application code longer-term storage in the installation file and mobile terminal of operating system, be for example stored in the external SD of the built-in internal memory of mobile terminal or mobile terminal different.Mobile terminal can be by the source code of preset interface loading application programs from described default internal memory, the physical interface of preset interface for adding in the virtual machine of operating system, concrete, preset interface can be the interface adding in Android operating system Dalvik virtual machine, the Dalvik virtual machine that Android operating system is moved is positioned at independently in Linux process, and process authority is that the exclusive user of this application program creates, cracker is difficult to read the virtual memory space at the source code place of application program.Even if cracker can read, dynamic assignment while being application program operation due to the memory headroom of source code of storage application program, and Linux and Dalvik make source code that cracker is difficult to accurately the to find application program concrete memory address in internal memory in the complexity of memory management, and the physical length of this section of internal memory.For example, if linux kernel and Android operating system adopt ASLR (Address space layout randomization, address space distribution randomization) technology, increased cracker locate core code memory address difficulty.Further alternative; if cracker has got the encryption core code of application program; the encryption core code of application programs carries out after conversed analysis and modification; also extremely difficulty is implanted in the memory headroom of the long palpus of application place process; the code that is more difficult to application program is implanted in internal memory, because internal memory is dynamic assignment, to sum up; the method for protecting software that the embodiment of the present invention provides is can cracking low.
The embodiment of the present invention provides a kind of method for protecting software, can obtain the data file of application program, wherein, the data file of application program comprises: the solution shell side order of application program, the attribute information of the encryption core code of application program and the encryption core code of application program, can from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, the source code of the program that is applied, thereby run application according to the source code of application program.The data file of application program comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.
The process flow diagram of a kind of method for protecting software that Fig. 2 provides for another embodiment of the present invention, the embodiment of the present invention can realize in control terminal, and the flow process in the present embodiment comprises step S201~S203 as shown in the figure.
S201, obtains the attribute information of the encryption core code of application program and the encryption core code of application program.
As a kind of optional embodiment, the attribute information that obtains the encryption core code of application program and the encryption core code of described application program specifically can comprise: the source code that obtains application program, the source code of application programs is encrypted, the encryption core code of the program that is applied; The length of the encryption core code of computing application program, the attribute information of the core code of application program comprises: the length of the encryption core code of application program.
Concrete, control terminal gets the source code of the application program of system manager's input, after being encrypted, the encryption core code of the program that is applied, the source code of application programs is encrypted and can adopts general cryptographic algorithm to be encrypted, as symmetric cryptography or asymmetric encryption, to guarantee its confidentiality, symmetric encipherment algorithm AES(Advanced Encryption Standard for example, Advanced Encryption Standard), rivest, shamir, adelman RSA(Rivest-Shamir-Adleman) etc., can generate in advance key.
S202, adds the attribute information of the encryption core code of the encryption core code of application program and application program in the solution shell side order of application program, and generates the data file of application program.
As a kind of optional embodiment, the attribute information of the encryption core code of the encryption core code of application program and application program can be added in the solution shell side order of application program, and generate the data file of application program.Concrete, after the attribute information of the encryption core code of the encryption core code of application program and application program can being appended to the solution shell side order of application program, as shown in the table, the data file of the application program generating can be a Dex file, comprise Dex Hader(file header) and Dex Body(main body), Dex Hader file header can be the Dex file header of standard, and Dex Body comprises: the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program.
Figure BDA0000448291860000091
As a kind of optional embodiment, for example, by the generation step of the data file of program, can be: generate empty Dex file classes.Dex; The solution shell side order unshell.Dex of application program is added in this empty Dex file classes.Dex; Read the source file (core code) of application program, the source file of application programs is encrypted, the encryption core code Dex file of the program that is applied, the encryption core code Dex file of application program is added in classes.Dex, the attribute information of the encryption core code of application program is added in classes.Dex, the size of calculating classes.Dex, CheckSum value etc., upgrade the file header of classes.Dex, generate the data file (application name .apk) of application program, the data file of the application program generating is signed.
S203, stores the data file of the application program of generation in default memory block into, so that mobile terminal obtains the data file of application program from default memory block, and runs application according to the data file of application program.
As a kind of optional embodiment, the data file of the application program of generation can be stored in default memory block, wherein, default memory block is including, but not limited to the memory block in control terminal or webserver shared memory, can also be the peripheral hardware memory blocks such as portable hard drive, specifically not be subject to the restriction of the embodiment of the present invention.The data file of the application program of generation is stored in default memory block, thereby application program can be downloaded/copy to mobile terminal from this default memory block, according to the encryption core code attribute information of the solution shell side order of application program and application program, from the data file of application program, read the encryption core code of application program, and the encryption core code of application programs is decrypted, the source code of the program that is applied, thus according to the source code of application program, run application.
Further alternative, the method for protecting software that the embodiment of the present invention provides can also comprise step: in the virtual machine of operating system, add preset interface, so that mobile terminal loads the data file of described application program by preset interface.For example, can in Android operating system Dalvik virtual machine, add preset interface, concrete, can revise the source code of Android operating system, in Dalvik virtual machine, add preset interface, thereby make mobile terminal pass through the data file of preset interface loading application programs.
The embodiment of the present invention provides a kind of method for protecting software; can obtain the attribute information of the encryption core code of application program and the encryption core code of application program; the attribute information of the encryption core code of the encryption core code of application program and application program is added in the solution shell side order of application program; and generate the data file of application program; the data file of the application program of generation is stored in default memory block; so that mobile terminal obtains the data file of application program from default memory block, and run application according to the data file of application program.The data file of the application program generating comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.
Below in conjunction with accompanying drawing 3, Fig. 5, the software protecting equipment respectively embodiment of the present invention being provided describes in detail.
It should be noted that the software protecting equipment shown in accompanying drawing 3, for carrying out the present invention's method embodiment illustrated in fig. 1, is the executive agent of the method for protecting software based on described in Fig. 1.For convenience of explanation, only show the part relevant to the embodiment of the present invention, concrete ins and outs do not disclose, and please refer to the embodiment shown in Fig. 1 of the present invention.A kind of software protecting equipment in the invention process can comprise: as mobile terminals such as smart mobile phone, panel computers.
As shown in Figure 3, the structural representation of a kind of software protecting equipment providing for the embodiment of the present invention, the software protecting equipment that the embodiment of the present invention provides can comprise: acquisition module 301, read module 302 and execution module 303.
Acquisition module 301, for obtaining the data file of application program, the data file of application program comprises: the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program.
As a kind of optional embodiment, acquisition module 301 obtains the data file of application program, wherein, the data file of application program can be: control terminal adds the attribute information of the encryption core code of the encryption core code of application program and application program to the data file generating in the solution shell side order of application program, control terminal is stored in the data file of generation in default memory block, or system operator can upload to this application program web-site or other storage spaces are downloaded for user, mobile terminal can be from this default memory block or as other storage space down load application programs such as websites.
Concrete, the data file of application program is including, but not limited to the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program, also comprises the attribute information etc. of the data file of application program.As shown in the table, the data file of application program can be a Dex file, comprise Dex Hader(file header) and Dex Body(main body), the attribute information of the data file of application program is Dex Hader for example, Dex Hader file header can be the Dex file header of standard, and Dex Body comprises: the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program.The attribute information of the encryption core code of application program and the encryption core code of application program chases after after adding solution shell side order.
Figure BDA0000448291860000121
Read module 302, for reading the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program from the data file of application program.
As a kind of optional embodiment, the attribute information of the core code of application program is including, but not limited to the length of the encryption core code of application program.Concrete, read module 302 can comprise: the first reading unit and the second reading unit, wherein:
The first reading unit, reads the length of the core code of application program for the data file from application program;
The second reading unit, for reading the core code of application program from the data file of application program according to the length of the core code of application program.
Execution module 303, is decrypted for the encryption core code to the application program reading, the source code of the program that is applied, and run application according to the source code of application program.
As a kind of optional embodiment, execution module 303 can comprise: storage unit and loading unit.Wherein:
Storage unit, for the source code of application program being stored into default internal memory, default internal memory comprises: the memory address of dynamic assignment;
Loading unit, for the source code from described default internal memory loading application programs by preset interface, the interface of preset interface for adding in the virtual machine of operating system.
Concrete, after the encryption core code of the application program reading, encryption core code to the application program reading is decrypted, the source code of the program that can be applied, also the source code of application program can be stored in default internal memory, default internal memory comprises: the memory address of dynamic assignment, and by the source code of preset interface loading application programs from described default internal memory, the interface of preset interface for adding in the virtual machine of operating system.Concrete, obtain the storage size L of Dex file of the source code of application program, the internal memory that application storage size is L, by the Dex file copy of the source code of application program in the internal memory of this application, concrete, can adopt the byte array in Java language to record memory address, using memory address as parameter, carry out the dynamic load of Dex file of the source code of application program.Further alternative, if while not needing to use the source code of application program, can discharge the internal memory of application.
In the embodiment of the present invention, the source code of the application program obtaining after the encryption core code deciphering of application programs, be stored in the default internal memory of mobile terminal, with in prior art by application code longer-term storage in the installation file and mobile terminal of operating system, be for example stored in the external SD of the built-in internal memory of mobile terminal or mobile terminal different.Mobile terminal can be by the source code of preset interface loading application programs from described default internal memory, the physical interface of preset interface for adding in the virtual machine of operating system, concrete, preset interface can be the interface adding in Android operating system Dalvik virtual machine, the Dalvik virtual machine that Android operating system is moved is positioned at independently in Linux process, and process authority is that the exclusive user of this application program creates, cracker is difficult to read the virtual memory space at the source code place of application program.Even if cracker can read, dynamic assignment while being application program operation due to the memory headroom of source code of storage application program, and Linux and Dalvik make source code that cracker is difficult to accurately the to find application program concrete memory address in internal memory in the complexity of memory management, and the physical length of this section of internal memory.For example, if linux kernel and Android operating system adopt ASLR (address space distribution randomization) technology, increased cracker locate core code memory address difficulty.Further alternative; if cracker has got the encryption core code of application program; the encryption core code of application programs carries out after conversed analysis and modification; also extremely difficulty is implanted in the memory headroom of the long palpus of application place process; the code that is more difficult to application program is implanted in internal memory, because internal memory is dynamic assignment, to sum up; the method for protecting software that the embodiment of the present invention provides is can cracking low.
The embodiment of the present invention provides a kind of software protecting equipment, acquisition module can obtain the data file of application program, wherein, the data file of application program comprises: the solution shell side order of application program, the attribute information of the encryption core code of application program and the encryption core code of application program, read module can read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program from the data file of application program, execution module can application programs encryption core code be decrypted, the source code of the program that is applied, thereby run application according to the source code of application program.The data file of application program comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.
It should be noted that, acquisition module in the present embodiment, read module and execution module can be the processor of setting up separately, also can be integrated in some processors of mobile terminal and realize, in addition, also can with the form of program code, be stored in the storer of mobile terminal, by some processors of mobile terminal, call and carry out the function with upper module.Processor described here can be a central processing unit (Central Processing Unit, CPU), or specific integrated circuit (Application Specific Integrated Circuit, or be configured to implement one or more integrated circuit of the embodiment of the present invention ASIC).
Refer to Fig. 4, the structural representation of a kind of mobile terminal providing for the embodiment of the present invention, wherein, the mobile terminal that the present embodiment provides is corresponding with the method shown in Fig. 1, is the executive agent of the method for protecting software based on shown in Fig. 1.Concrete way of realization as shown in Figure 4, the mobile terminal of the embodiment of the present invention comprises: receiver 401, transmitter 402, storer 403 and processor 404, and wherein, receiver 401, transmitter 402, storer 403 are all connected with processor 404, for example, can connect by bus.Certainly, network element device can also comprise the universal components such as antenna, Base-Band Processing parts, middle radio frequency processing parts, input-output unit, is not specifically subject to the restriction of the embodiment of the present invention.
Receiver 401 and transmitter 402 can integrate, and form transceiver.
Storer 403 is for stores executable programs code, and this program code comprises computer-managed instruction.Storer 403 may comprise high-speed RAM storer, also may also comprise nonvolatile memory (non-volatile memory), for example at least one magnetic disk memory.
Processor 404 can be a central processing unit, or specific integrated circuit, or is configured to implement one or more integrated circuit of the embodiment of the present invention.
Wherein, in storer 403, store batch processing code, and processor 404 is for calling the program code of storer 403 storages, carries out following operation:
Obtain the data file of application program, the data file of described application program comprises: the attribute information of the encryption core code of the solution shell side order of described application program, described application program and the encryption core code of described application program;
According to the encryption core code attribute information of the solution shell side order of described application program and described application program, from the data file of described application program, read the encryption core code of described application program;
Encryption core code to the described application program reading is decrypted, the source code of the program that is applied, and move described application program according to the source code of described application program.
As a kind of optional embodiment, the data file of described application program is: control terminal adds the attribute information of the encryption core code of the encryption core code of described application program and described application program to the data file generating in the solution shell side order of described application program.
As a kind of optional embodiment, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program;
The encryption core code that described processor 403 reads described application program according to the encryption core code attribute information of the solution shell side order of described application program and described application program from the data file of described application program comprises:
From the data file of described application program, read the length of the core code of described application program;
According to the length of the core code of described application program, from the data file of described application program, read the core code of described application program.
As a kind of optional embodiment, the encryption core code of the application program reading described in 403 pairs of described processors is decrypted, the source code of the program that is applied, and move described application program according to the source code of described application program, comprising:
The source code of described application program is stored in default internal memory, and described default internal memory comprises: the memory address of dynamic assignment;
By described preset interface, from described default internal memory, load the source code of described application program, the interface of described preset interface for adding in the virtual machine of operating system.
In technique scheme, a kind of mobile terminal is provided, comprise receiver, transmitter, storer and processor, processor can obtain the data file of application program, wherein, the data file of application program comprises: the solution shell side order of application program, the attribute information of the encryption core code of application program and the encryption core code of application program, can from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, the source code of the program that is applied, thereby run application according to the source code of application program.The data file of application program comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.
The structural representation of a kind of software protecting equipment providing for another embodiment of the present invention as shown in Figure 5.It should be noted that the software protecting equipment shown in accompanying drawing 5, for carrying out the present invention's method embodiment illustrated in fig. 2, is the executive agent of the method for protecting software based on described in Fig. 2.For convenience of explanation, only show the part relevant to the embodiment of the present invention, concrete ins and outs do not disclose, and please refer to the embodiment shown in Fig. 2 of the present invention.Software protecting equipment in the embodiment of the present invention can comprise: the client modules in the control terminals such as computer, server or control terminal, for example, application management client etc.
As shown in Figure 5, the software protecting equipment that the embodiment of the present invention provides can comprise: acquisition module 501, generation module 502 and memory module 503.
Acquisition module 501, for obtaining the attribute information of the encryption core code of application program and the encryption core code of application program.
As a kind of optional embodiment, acquisition module 501 can comprise: acquiring unit and computing unit.Wherein: acquiring unit, for obtaining the source code of application program, the source code of application programs is encrypted, the encryption core code of the program that is applied; Computing unit, for the length of the encryption core code of computing application program, the attribute information of the core code of application program comprises: the length of the encryption core code of application program.
Concrete, acquisition module 501 gets the source code of the application program of system manager's input, after being encrypted, the encryption core code of the program that is applied, the source code of application programs is encrypted and can adopts general cryptographic algorithm to be encrypted, as symmetric cryptography or asymmetric encryption, to guarantee its confidentiality, such as symmetric encipherment algorithm AES, rivest, shamir, adelman RSA etc., can generate key in advance.
Generation module 502, for the attribute information of the encryption core code of the encryption core code of application program and application program being added to the solution shell side order of application program, and generates the data file of application program.
As a kind of optional embodiment, generation module 502 can add the attribute information of the encryption core code of the encryption core code of application program and application program in the solution shell side order of application program to, and generates the data file of application program.Concrete, after the attribute information of the encryption core code of the encryption core code of application program and application program can being appended to the solution shell side order of application program, as shown in the table, the data file of the application program generating can be a Dex file, comprise Dex Hader(file header) and Dex Body(main body), Dex Hader file header can be the Dex file header of standard, and Dex Body comprises: the attribute information of the solution shell side order of application program, the encryption core code of application program and the encryption core code of application program.
Figure BDA0000448291860000171
As a kind of optional embodiment, for example, can generate empty Dex file classes.Dex; The solution shell side order unshell.Dex of application program is added in this empty Dex file classes.Dex; Read the source file (core code) of application program, the source file of application programs is encrypted, the encryption core code Dex file of the program that is applied, the encryption core code Dex file of application program is added in classes.Dex, the attribute information of the encryption core code of application program is added in classes.Dex, the size of calculating classes.Dex, CheckSum value etc., upgrade the file header of classes.Dex, generate the data file (application name .apk) of application program, the data file of the application program generating is signed.
Memory module 503, for the data file of the application program of generation being stored into default memory block, so that mobile terminal obtains the data file of application program from default memory block, and moves described application program according to the data file of application program.
As a kind of optional embodiment, memory module 503 can store the data file of the application program of generation in default memory block, wherein, default memory block is including, but not limited to the memory block in control terminal or webserver shared memory, can also be the peripheral hardware memory blocks such as portable hard drive, specifically not be subject to the restriction of the embodiment of the present invention.The data file of the application program of generation is stored in default memory block, thereby application program can be downloaded/copy to mobile terminal from this default memory block, according to the encryption core code attribute information of the solution shell side order of application program and application program, from the data file of application program, read the encryption core code of application program, and the encryption core code of application programs is decrypted, the source code of the program that is applied, thus according to the source code of application program, run application.
Further alternative, the device that the embodiment of the present invention provides also comprises: add module 504.
Add module 504, for the virtual machine in operating system, add preset interface, so that mobile terminal loads the data file of described application program by described preset interface.
As a kind of optional embodiment, in the virtual machine of operating system, add preset interface, so that mobile terminal loads the data file of described application program by preset interface.For example, can in Android operating system Dalvik virtual machine, add preset interface, concrete, can revise the source code of Android operating system, in Dalvik virtual machine, add preset interface, thereby make mobile terminal pass through the data file of preset interface loading application programs.
The embodiment of the present invention provides a kind of software protecting equipment, acquisition module can obtain the attribute information of the encryption core code of application program and the encryption core code of application program, generation module can add the attribute information of the encryption core code of the encryption core code of application program and application program in the solution shell side order of application program, and generate the data file of application program, memory module can store the data file of the application program of generation in default memory block, so that mobile terminal obtains the data file of application program from default memory block, and run application according to the data file of application program.The data file of the application program generating comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.
It should be noted that, acquisition module in the present embodiment, generation module, memory module and interpolation module can be the processor of setting up separately, also can be integrated in some processors of control terminal and realize, in addition, also can with the form of program code, be stored in the storer of control terminal, by some processors of control terminal, call and carry out the function with upper module.Processor described here can be a central processing unit, or specific integrated circuit, or is configured to implement one or more integrated circuit of the embodiment of the present invention.
Refer to Fig. 6, the structural representation of a kind of control terminal providing for the embodiment of the present invention, wherein, the control terminal that the present embodiment provides is corresponding with the method shown in Fig. 2, is the executive agent of the method for protecting software based on shown in Fig. 2.Concrete way of realization as shown in Figure 6, the control terminal of the embodiment of the present invention comprises: receiver 601, transmitter 602, storer 603 and processor 604, and wherein, receiver 601, transmitter 602, storer 603 are all connected with processor 604, for example, can connect by bus.Certainly, network element device can also comprise the universal components such as antenna, Base-Band Processing parts, middle radio frequency processing parts, input-output unit, is not specifically subject to the restriction of the embodiment of the present invention.
Receiver 601 and transmitter 602 can integrate, and form transceiver.
Storer 603 is for stores executable programs code, and this program code comprises computer-managed instruction.Storer 603 may comprise high-speed RAM storer, also may also comprise nonvolatile memory, for example at least one magnetic disk memory.
Processor 604 can be a central processing unit, or specific integrated circuit, or is configured to implement one or more integrated circuit of the embodiment of the present invention.
Wherein, in storer 603, store batch processing code, and processor 604 is for calling the program code of storer 603 storages, carries out following operation:
Obtain the attribute information of the encryption core code of application program and the encryption core code of described application program;
The attribute information of the encryption core code of the encryption core code of described application program and described application program is added in the solution shell side order of described application program, and generate the data file of described application program;
The data file of the application program of described generation is stored in default memory block, so that mobile terminal obtains the data file of described application program from described default memory block, and move described application program according to the data file of described application program.
As a kind of optional embodiment, the attribute information that processor 604 obtains the encryption core code of application program and the encryption core code of described application program comprises:
Obtain the source code of described application program, the source code of described application program is encrypted, obtain the encryption core code of described application program;
The length of calculating the encryption core code of described application program, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program.
As a kind of optional embodiment, processor 604 also for:
In the virtual machine of operating system, add preset interface, so that described mobile terminal loads the data file of described application program by described preset interface.
In technique scheme, a kind of control terminal is provided, comprise receiver, transmitter, storer and processor, processor can obtain the attribute information of the encryption core code of application program and the encryption core code of application program, the attribute information of the encryption core code of the encryption core code of application program and application program is added in the solution shell side order of application program, and generate the data file of application program, the data file of the application program of generation is stored in default memory block, so that mobile terminal obtains the data file of application program from default memory block, and run application according to the data file of application program.The data file of the application program generating comprises the encryption core code of application program and the solution shell side order of application program, thereby cracker cannot directly carry out to the data file of this application program the core code that dis-assembling obtains this application program, obtain the source code of this application program, need from the data file of application program, read the encryption core code of application program according to the encryption core code attribute information of the solution shell side order of application program and application program, and the encryption core code of application programs is decrypted, cannot directly carry out dis-assembling and decompiling, increased the difficulty that cracker obtains the source code of application program, security and the anti-cracking of application program have been improved.
A kind of security system for software that the embodiment of the present invention also provides; can comprise: mobile terminal and control terminal; wherein; the 26S Proteasome Structure and Function of mobile terminal can embodiment shown in Figure 3 associated description; be not repeated herein; it should be noted that, the mobile terminal that the present embodiment provides is corresponding with the software approach shown in Fig. 1.Wherein, the associated description that the 26S Proteasome Structure and Function of control terminal can embodiment shown in Figure 5, is not repeated herein, and it should be noted that, the control terminal that the present embodiment provides is corresponding with the software approach shown in Fig. 2.Wherein, mobile terminal can comprise: as mobile terminal devices such as smart mobile phone, panel computers, the control terminal in the embodiment of the present invention can comprise: the terminal devices such as computer, server.
In the several embodiment that provide in the application, should be understood that disclosed apparatus and method can realize by another way.For example, device embodiment described above is only schematic, for example, the division of module or unit, be only that a kind of logic function is divided, during actual realization, can have other dividing mode, for example a plurality of unit or module can in conjunction with or can be integrated into another system, or some features can ignore, or do not carry out.In addition, shown or discussed coupling each other or direct-coupling or communication connection can be indirect coupling or the communication connections by some interfaces, device, module or unit, can be also electric, machinery or other form connect.
Module or unit as separating component explanation can or can not be also physically to separate, the parts that show as module or unit can be or can not be also physical module or unit, can be positioned at a place, or also can be distributed on a plurality of mixed-media network modules mixed-medias or unit.The object that can select according to the actual needs some or all of module wherein or unit to realize the embodiment of the present application scheme.
In addition, each functional module in each embodiment of the application or unit can be integrated in a processing module or unit, also can be that the independent physics in modules or unit exists, can be also that two or more modules or unit are integrated in a module or unit.Above-mentioned integrated module or unit both can adopt the form of hardware to realize, and also can adopt the form of SFU software functional unit to realize.
If the form of software function module or unit of usining integrated module or unit realizes and during as production marketing independently or use, can be stored in a computer read/write memory medium.Understanding based on such, the part that the application's technical scheme contributes to prior art in essence in other words, or all or part of form that can software product of this technical scheme embodies, this computer software product is stored in a storage medium, comprise that some instructions are with so that a computer equipment (can be personal computer, server, or the network equipment etc.) carry out all or part of step of each embodiment method of the application.And aforesaid storage medium comprises: various media that can be program code stored such as USB flash disk, portable hard drive, ROM (read-only memory) (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disc or CDs.
Above; it is only the application's embodiment; but the application's protection domain is not limited to this; anyly be familiar with those skilled in the art in the technical scope that the application discloses; can expect easily modification or the replacement of various equivalences, within these modifications or replacement all should be encompassed in the application's protection domain.Therefore, the application's protection domain should be as the criterion with the protection domain of claim.

Claims (15)

1. a method for protecting software, is characterized in that, described method comprises:
Obtain the data file of application program, the data file of described application program comprises: the attribute information of the encryption core code of the solution shell side order of described application program, described application program and the encryption core code of described application program;
According to the encryption core code attribute information of the solution shell side order of described application program and described application program, from the data file of described application program, read the encryption core code of described application program;
Encryption core code to the described application program reading is decrypted, the source code of the program that is applied, and move described application program according to the source code of described application program.
2. the method for claim 1, it is characterized in that, the data file of described application program is: control terminal adds the attribute information of the encryption core code of the encryption core code of described application program and described application program to the data file generating in the solution shell side order of described application program.
3. method as claimed in claim 2, is characterized in that, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program;
The described encryption core code that reads described application program from the data file of described application program according to the encryption core code attribute information of the solution shell side order of described application program and described application program comprises:
From the data file of described application program, read the length of the core code of described application program;
According to the length of the core code of described application program, from the data file of described application program, read the core code of described application program.
4. the method for claim 1, is characterized in that, the described encryption core code to the described application program reading is decrypted, the source code of the program that is applied, and move described application program according to the source code of described application program, comprising:
The source code of described application program is stored in default internal memory, and described default internal memory comprises: the memory address of dynamic assignment;
By described preset interface, from described default internal memory, load the source code of described application program, the interface of described preset interface for adding in the virtual machine of operating system.
5. a method for protecting software, is characterized in that, described method comprises:
Obtain the attribute information of the encryption core code of application program and the encryption core code of described application program;
The attribute information of the encryption core code of the encryption core code of described application program and described application program is added in the solution shell side order of described application program, and generate the data file of described application program;
The data file of the application program of described generation is stored in default memory block, so that mobile terminal obtains the data file of described application program from described default memory block, and move described application program according to the data file of described application program.
6. method as claimed in claim 5, is characterized in that, described in obtain the encryption core code of application program and the encryption core code of described application program attribute information comprise:
Obtain the source code of described application program, the source code of described application program is encrypted, obtain the encryption core code of described application program;
The length of calculating the encryption core code of described application program, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program.
7. method as claimed in claim 5, is characterized in that, described method also comprises:
In the virtual machine of operating system, add preset interface, so that described mobile terminal loads the data file of described application program by described preset interface.
8. a software protecting equipment, is characterized in that, described device comprises:
Acquisition module, for obtaining the data file of application program, the data file of described application program comprises: the attribute information of the encryption core code of the solution shell side order of described application program, described application program and the encryption core code of described application program;
Read module, for reading the encryption core code of described application program according to the encryption core code attribute information of the solution shell side order of described application program and described application program from the data file of described application program;
Execution module, is decrypted for the encryption core code to the described application program reading, the source code of the program that is applied, and move described application program according to the source code of described application program.
9. device as claimed in claim 8, it is characterized in that, the data file of described application program is: control terminal adds the attribute information of the encryption core code of the encryption core code of described application program and described application program to the data file generating in the solution shell side order of described application program.
10. device as claimed in claim 9, is characterized in that, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program;
Described read module comprises:
The first reading unit, reads the length of the core code of described application program for the data file from described application program;
The second reading unit, for reading the core code of described application program from the data file of described application program according to the length of the core code of described application program.
11. devices as claimed in claim 8, is characterized in that, described execution module comprises:
Storage unit, for the source code of described application program being stored into default internal memory, described default internal memory comprises: the memory address of dynamic assignment;
Loading unit, for load the source code of described application program from described default internal memory by described preset interface, the interface of described preset interface for adding in the virtual machine of operating system.
12. 1 kinds of software protecting equipments, is characterized in that, described device comprises:
Acquisition module, for obtaining the attribute information of the encryption core code of application program and the encryption core code of described application program;
Generation module, for the attribute information of the encryption core code of the encryption core code of described application program and described application program being added to the solution shell side order of described application program, and generates the data file of described application program;
Memory module, for the data file of the application program of described generation being stored into default memory block, so that mobile terminal obtains the data file of described application program from described default memory block, and move described application program according to the data file of described application program.
13. devices as claimed in claim 12, is characterized in that, described acquisition module comprises:
Acquiring unit, for obtaining the source code of described application program, is encrypted the source code of described application program, obtains the encryption core code of described application program;
Computing unit, for calculating the length of the encryption core code of described application program, the attribute information of the core code of described application program comprises: the length of the encryption core code of described application program.
14. devices as claimed in claim 12, is characterized in that, described device also comprises:
Add module, for the virtual machine in operating system, add preset interface, so that described mobile terminal loads the data file of described application program by described preset interface.
15. 1 kinds of security system for software, is characterized in that, comprising: mobile terminal and control terminal; Described mobile terminal, the device as described in as arbitrary in claim 8~11; Device as described in described control terminal is as arbitrary in claim 12~14.
CN201310740020.8A 2013-12-27 2013-12-27 Software protecting method, device and system Withdrawn CN103761457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310740020.8A CN103761457A (en) 2013-12-27 2013-12-27 Software protecting method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310740020.8A CN103761457A (en) 2013-12-27 2013-12-27 Software protecting method, device and system

Publications (1)

Publication Number Publication Date
CN103761457A true CN103761457A (en) 2014-04-30

Family

ID=50528693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310740020.8A Withdrawn CN103761457A (en) 2013-12-27 2013-12-27 Software protecting method, device and system

Country Status (1)

Country Link
CN (1) CN103761457A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104573425A (en) * 2014-12-31 2015-04-29 上海格尔软件股份有限公司 Python program module encryption method based on symmetric algorithm and dedicated loading module
WO2016054880A1 (en) * 2014-10-08 2016-04-14 中兴通讯股份有限公司 Apk file application expanding method and device
WO2016078130A1 (en) * 2014-11-18 2016-05-26 刘鹏 Dynamic loading method for preventing reverse of apk file
CN107579962A (en) * 2017-08-24 2018-01-12 中积有限公司 A kind of method and device of source code encryption and decryption
CN107784231A (en) * 2016-08-24 2018-03-09 北京花甲科技有限公司 The execution of instruction and on-the-flier compiler method, apparatus and electronic equipment
CN109426703A (en) * 2017-08-30 2019-03-05 武汉斗鱼网络科技有限公司 Guard method and device on a kind of ios platform to core code
CN109446759A (en) * 2018-10-29 2019-03-08 大唐高鸿信安(浙江)信息科技有限公司 A kind of software interface guard method and device
CN110619196A (en) * 2019-09-19 2019-12-27 北京丁牛科技有限公司 Project code protection method and device based on scripting language
CN113378119A (en) * 2021-06-25 2021-09-10 成都卫士通信息产业股份有限公司 Software authorization method, device, equipment and storage medium
CN113642021A (en) * 2021-08-20 2021-11-12 深信服科技股份有限公司 Business code submitting method, processing method, device and electronic equipment

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016054880A1 (en) * 2014-10-08 2016-04-14 中兴通讯股份有限公司 Apk file application expanding method and device
WO2016078130A1 (en) * 2014-11-18 2016-05-26 刘鹏 Dynamic loading method for preventing reverse of apk file
CN104573425A (en) * 2014-12-31 2015-04-29 上海格尔软件股份有限公司 Python program module encryption method based on symmetric algorithm and dedicated loading module
CN104573425B (en) * 2014-12-31 2018-01-30 上海格尔软件股份有限公司 A kind of Python program module encryption methods based on symmetry algorithm and special load-on module
CN107784231B (en) * 2016-08-24 2021-06-08 顶象科技有限公司 Instruction execution and dynamic compiling method and device and electronic equipment
CN107784231A (en) * 2016-08-24 2018-03-09 北京花甲科技有限公司 The execution of instruction and on-the-flier compiler method, apparatus and electronic equipment
CN107579962B (en) * 2017-08-24 2019-04-30 中链科技有限公司 A kind of method and device of source code encryption and decryption
CN107579962A (en) * 2017-08-24 2018-01-12 中积有限公司 A kind of method and device of source code encryption and decryption
CN109426703A (en) * 2017-08-30 2019-03-05 武汉斗鱼网络科技有限公司 Guard method and device on a kind of ios platform to core code
CN109426703B (en) * 2017-08-30 2023-11-24 喀斯玛汇智(无锡)科技有限公司 Method and device for protecting core code on IOS platform
CN109446759A (en) * 2018-10-29 2019-03-08 大唐高鸿信安(浙江)信息科技有限公司 A kind of software interface guard method and device
CN109446759B (en) * 2018-10-29 2021-02-09 大唐高鸿信安(浙江)信息科技有限公司 Software interface protection method and device
CN110619196A (en) * 2019-09-19 2019-12-27 北京丁牛科技有限公司 Project code protection method and device based on scripting language
CN110619196B (en) * 2019-09-19 2022-02-01 北京丁牛科技有限公司 Project code protection method and device based on scripting language
CN113378119A (en) * 2021-06-25 2021-09-10 成都卫士通信息产业股份有限公司 Software authorization method, device, equipment and storage medium
CN113642021A (en) * 2021-08-20 2021-11-12 深信服科技股份有限公司 Business code submitting method, processing method, device and electronic equipment
CN113642021B (en) * 2021-08-20 2024-05-28 深信服科技股份有限公司 Service code submitting method, processing method, device and electronic equipment

Similar Documents

Publication Publication Date Title
CN103761457A (en) Software protecting method, device and system
US10853270B2 (en) Cryptographic pointer address encoding
US10091000B2 (en) Techniques for distributing secret shares
EP2879327A1 (en) Encryption and decryption processing method, apparatus and device
CN110022558B (en) Method for encrypting and decrypting upgrade package, electronic device and storage medium
CN110347383B (en) Front-end development method and device for cross-platform desktop application
CN110971398A (en) Data processing method, device and system
US11455430B2 (en) Secure element and related device
EP3264265A1 (en) Application protection method, server and terminal
CN113544674A (en) Secure execution client owner control for secure interface controls
KR101734663B1 (en) Method for preventing reverse engineering of android application and apparatus for performing the method
CN112384914A (en) Protecting artificial intelligence models using virtual security models
CN103823692A (en) Computer operating system starting method
CN109598105B (en) Method and device for safely loading firmware by microcontroller, computer equipment and storage medium
CN110874476A (en) Data processing system, method, storage medium and processor
US10242175B2 (en) Method and system for authentication of a storage device
CN106326782A (en) Information processing method and electronic device
CN104182691A (en) Data encryption method and device
CN101950345B (en) Hardware decryption-based high-reliability terminal equipment and working method thereof
KR102421318B1 (en) A device for managing multiple accesses to a system-on-a-chip security module of an apparatus
US20220198020A1 (en) Encrypting table signatures
CN111368345A (en) Method, device, equipment and computer readable storage medium for decrypting encrypted program
CN108038368B (en) Data processing method and device, storage medium and processor
CN109784085B (en) Virtual network application implementation method, management system and computer readable storage medium
CN118568739A (en) Encryption and decryption method for application program, terminal equipment and storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C04 Withdrawal of patent application after publication (patent law 2001)
WW01 Invention patent application withdrawn after publication

Application publication date: 20140430