CN104462884A - Embedding and extracting method for software watermark - Google Patents

Embedding and extracting method for software watermark Download PDF

Info

Publication number
CN104462884A
CN104462884A CN201410806446.3A CN201410806446A CN104462884A CN 104462884 A CN104462884 A CN 104462884A CN 201410806446 A CN201410806446 A CN 201410806446A CN 104462884 A CN104462884 A CN 104462884A
Authority
CN
China
Prior art keywords
event
watermark
embedded
watermark value
value
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.)
Granted
Application number
CN201410806446.3A
Other languages
Chinese (zh)
Other versions
CN104462884B (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 University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
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 University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201410806446.3A priority Critical patent/CN104462884B/en
Publication of CN104462884A publication Critical patent/CN104462884A/en
Application granted granted Critical
Publication of CN104462884B publication Critical patent/CN104462884B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

The invention discloses an embedding and extracting method for a software watermark. When the watermark is embedded, corresponding watermark codes are generated according to an even flow triggered by a user and watermark information to be embedded, and are embedded into assembly code sections corresponding to all events. Through establishing a logical dependency relation between the watermark and a program, the concealing performance of the watermark information can be improved. By the adoption of the embedding and extracting method, Android platform application software can be effectively protected.

Description

The embedding of software watermark and extracting method
Technical field
The present invention relates to security of computer software technology, particularly relate to a kind of embedding and extracting method of software watermark.
Background technology
At present, along with the develop rapidly of Android mobile intelligent terminal, there is a kind of emerging economies model around mobile applications in recent years.But application program is beaten again bag and is brought huge risk to Application developer, application shop and user.Malicious user beats again by application program the revenue source that bag can destroy developer, invades its intellecture property.Nearest research shows, it is that Android malware carries out propagating one of modal mechanism outside that application program beats again bag.Investigation also shows, application program is heavily packaged as the serious loophole of Mobile banking's application.In the face of these security threats, need to protect application software.
Do large quantifier elimination in field of software protection both at home and abroad at present, proposed some method for protecting software, and construct corresponding software protection instrument.Method for protecting software main at present can be divided into: Code obfuscation, software watermark, content digital rights encipherment protection technology, and application adds shell, Code Clones detection etc.
Code obfuscation (Obfuscated code), also known as flower instruction, is by the code of computer program, converts one to functionally of equal value, but is difficult to the behavior of the form read and understand.Code obfuscation may be used for program source code, also may be used for the intermediate code of program compilation.The program that run time version is obscured is referred to as code obfuscator.There is the code obfuscator of many kinds of Various Functions at present.
Code obfuscation method comprises following several mode:
(1) by the various elements in code, as variable, function, the name of class is rewritten into insignificant name.Such as be rewritten into single letter, or brief meaningless monogram, be even rewritten into the symbol that " _ _ " is such, make the people read cannot guess its purposes according to name.
(2) rewrite the partial logic in code, become functionally of equal value, but more indigestible form.Such as circulation is rewritten into while circulation, circulation is rewritten into recurrence, simplifies intermediate variable, etc.
(3) form of code is upset.Such as delete space, lines of code is extruded in a line, or line code is broken into multirow etc.
The effect of obfuscator is not only protecting code, and it also has the effect of simplifying the rear program size of compiling.Due to the shortening variable sum functions name introduced above and lost part information, after compiling, jar file size approximately can reduce 25%, and this wireless network transmissions more expensive to current expense has the certain significance.
Software watermark (software watermark) technology is a field newer in the research of all software protections; it is the branch of digital watermark technology; the software owner is by embedding peculiar information in software; carry out the information such as identified author, publisher, the owner, user; the information of being partially submerged into carries copyright protection information and authentication information, the software product that can identify bootlegging and usurp.
Software shelling utilizes special algorithm to compress EXE, dll file (being dex file in Android) inner resource, change the condition code that it is original, hide some character strings etc., make some resource edit softwares normally not open or to revise.Android dex file is being added in shell process, is relating to following 3 kinds of roles:
Cryptor: encrypted source program is solution hull number certificate, assembling solution shell side sequence conciliates hull number certificate;
Separate shell side sequence: hull number certificate is separated in deciphering, and by DexClassLoader dynamic load when running;
Source program: need the protected code adding shell process.
Content digital rights encipherment protection technology (Digital Rights Management; DRM) refer to publisher to be used for controlling the more usufructuary technology of protected object; these technical protections have digitized content (such as: software, music, film) and hardware, process digital product certain example use restriction.First DRM sets up application authorization center, the application content after compression coding, and key (Key) can be utilized to be encrypted protection (lock), and the application head of encryption deposits the URL of KeyID and application authorization center.In use, according to KeyID and the URL information of application head, send relevant secret key decryption (unlock) after just can passing through the checking mandate of application authorization center, application can use user.
Although above-mentioned traditional software protection instrument is still used by most of developer, some algorithm intensity is also higher, the function that each method realizes still has some limitations.
Specifically, Code obfuscation, Staticasoftware watermark, application add the application guard methods such as shell, can only increase the difficulty that assailant cracks application, and experienced assailant can not be stoped to utilize the reverse instrument manual analyzing such as IDA to crack Android application.The software protection instrument of current part main flow, as corresponding antialiasing, shelling instrument has appearred in Proguard, ApkProtect etc., these instruments are the side illustration segmental defect of these methods above-mentioned also, cracks difficulty less.
The application shop of current main flow is as Google Play, Amazon China etc., and provide the content digital rights encipherment protection technology of oneself, developer calls corresponding tool storage room and application can be prevented to be cracked and to repack.But these protection mechanisms exist dispose difficulty comparatively large, consume the problems such as a large amount of cost of development.Such as, for the content digital rights encipherment protection technology of Google Play, all can authentication certificate time application software starts at every turn, this process need data cube computation.And a lot of application software all works offline, application software therefore can be caused to start.
The major demands of Android application software digital watermark in third party shop and cell phone manufacturer, developer not desirable to provide source code for embed watermark, make the water mark method based on Java source code and be not suitable for Android application protection.Because Android platform uses dalvik virtual machine to run Android program, and the operation of dalvik virtual machine is dalvik bytecode, dalvik bytecode has the instruction feature being different from assembly instruction, therefore the existing Software Watermark based on assembly instructions such as x86 at present, also cannot be applied directly to Android based in Dalvik byte code instruction.
As can be seen here, current method for protecting software is not suitable for the protection to Android platform application software.
Summary of the invention
In view of this, fundamental purpose of the present invention is the embedding and the extracting method that provide a kind of software watermark, can carry out available protecting to Android platform application software.
In order to achieve the above object, the technical scheme that the present invention proposes is:
An embedding grammar for software watermark, comprising:
A, watermark to be embedded to be split, obtain one group of watermark value;
B, start the software of watermark to be embedded, catch the event that user triggers, and according to the raw information of captured each event, the time sequencing triggered according to event, generates event key script file;
C, judge the quantity of described watermark value whether be less than or equal to described in the event number of catching; If so, then by each described watermark value respectively with the event establishment one-to-one relationship in described event key script file, wherein, the corresponding different event of different watermark value; Otherwise, perform step b;
D, each described watermark value is converted into watermark code, and is embedded in the assembly code section of event corresponding to this watermark value.
An extracting method for software watermark, for extracting the watermark utilizing said method to embed, comprising:
According to described event key script file, generate the flow of event of the time sequencing arrangement triggered according to event;
According to the time sequencing that described event triggers, simulate the triggering of each event in described flow of event successively; And in the trigger process of described event, extract corresponding assembly code section;
From the assembly code section of extracted each described event, the watermark code embedded by extraction, and convert described watermark code to corresponding watermark value;
The accuracy of be converted to each watermark value and validity are judged, and deletes wherein invalid or wrong watermark value, obtain the watermark information be embedded in software.
In sum; the embedding of a kind of software watermark that the present invention proposes and extracting method; by setting up a kind of logic dependencies between watermark and program itself, the hiding of watermark information can be improved, thus available protecting can be carried out to Android platform application software.
Accompanying drawing explanation
Fig. 1 is that the software watermark of the embodiment of the present invention one embeds schematic flow sheet;
Fig. 2 is that the software watermark of the embodiment of the present invention two extracts schematic flow sheet.
Embodiment
For making the object, technical solutions and advantages of the present invention clearly, the present invention is described in further detail below in conjunction with the accompanying drawings and the specific embodiments.
Core concept of the present invention is: according to application affairs stream (key) and the watermark information to be embedded of the application software of user's triggering, generate corresponding watermark code, and be embedded into (namely in Dalvik bytecode section) in assembly code section corresponding to each event.So, by setting up a kind of logic dependencies between watermark and program itself, the hiding of watermark information can be improved.In addition, the embedding of watermark is carried out based on assembly code, therefore, avoids the dependence to source code, thus makes the present invention easy to implement.
Fig. 1 is the schematic flow sheet of the embodiment of the present invention one, and as shown in Figure 1, this embodiment mainly comprises:
Step 101, watermark to be embedded to be split, obtain one group of watermark value.
This step is used for the watermark in application software to be embedded being split, to be embedded in application software.
Preferably, can Chinese remainder theorem be utilized, watermark to be embedded is split.The concrete grammar utilizing these means to realize splitting is grasped by those skilled in the art, does not repeat them here.
Step 102, start the software of watermark to be embedded, catch the event that user triggers, and according to the raw information of captured each event, the time sequencing triggered according to event, generates event key script file.
This step is for generating event key script file, the flow of event (comprising customer incident and system event) that this file triggers for preserving user, this flow of event will be used for the code segment position limiting each watermark value embedding generated in step 101, therefore, this event key script file is equivalent to one " key ", is used to indicate embedding and the extracting position of watermark.That is, in the present invention for the key of embed watermark be with user trigger flow of event form realize.
Preferably, following method can be adopted to generate event key script file:
For captured each event, the raw information of event is resolved, generate corresponding event detail, described event detail comprises event-triggered times, event type and event attribute, according to the time sequencing that event triggers, described event detail corresponding for each event is written in described software key script file.
Step 103, judge the quantity of described watermark value whether be less than or equal to described in the event number of catching; If so, then step 104 is performed; Otherwise, perform step 102.
Here, if event number is less than the quantity of watermark value, then needs to return step 102 and regenerate flow of event, to meet the needs all watermark value be embedded in application software.Otherwise, if the quantity of watermark value whether be less than or equal to described in the event number of catching, then each watermark value can the event of corresponding, and can guarantee that different watermark value can a corresponding event.
Step 104, by each described watermark value respectively with the event establishment one-to-one relationship in described event key script file, wherein, the corresponding different event of different watermark value.
Preferably, for the purpose of simple, can according to the priority trigger sequence of event in the sequencing of watermark value in group and event key script file, successively by watermark value and event establishment one-to-one relationship, until all watermark value have corresponding event.In order to improve complexity, the one-to-one relationship both also can setting up according to the corresponding relation function preset.In this step, only need watermark value and event establishment one-to-one relationship, concrete which kind of method that adopts is not limited to above-mentioned.
Step 105, each described watermark value is converted into watermark code, and is embedded in the assembly code section of event corresponding to this watermark value.
Preferably, following method can be adopted to realize this step:
For each watermark value, convert this watermark value to binary number, represent skip instruction destination address be greater than raw address according to 1,0 represents the conversion principle that skip instruction destination address is less than raw address, according to n 0=m 0-k 0and n 1=m 1-k 1generate corresponding Smali skip instruction, generated Smali skip instruction is embedded in the code segment of event corresponding to this watermark value, the code segment carried out after described embedding meets: according to sequencing and the described conversion principle of Smali skip instruction, after successively the Smali skip instruction in described code segment being converted to 0 or 1, the binary number that the numerical value obtained is corresponding with this watermark value is identical, and in described assembly code section, the execution sequence of existing skip instruction remains unchanged after described embedding.
Wherein, n 0represent the skip instruction number needing the representative 0 generated; n 1represent and need to generate the skip instruction number representing 1; m 0represent the number of in described binary number 0; m 1represent the number of in described binary number 1; k 0represent that in the assembly code section of event corresponding to watermark value, existing skip instruction destination address is less than the skip instruction number of raw address; k 1represent that in the assembly code section of event corresponding to watermark value, existing skip instruction destination address is greater than the skip instruction number of raw address.
In the above-mentioned methods, for the Smali skip instruction that each watermark value generates, by with existing Smali skip instruction in the assembly code section of event corresponding to this watermark value, the common watermark code as this watermark value, when the Smali skip instruction of given birth to one-tenth is embedded in assembly code section, after needing to make all Smali skip instructions in assembly code section carry out 0/1 conversion, be the watermark code that this watermark value is corresponding, thus realize the embedding of watermark value.In addition, in assembly code section, the execution sequence of original statement needs to remain unchanged after embed watermark, with the normal execution making the embedding of watermark not affect code in assembly code section, guarantees that the original function of assembly code section remains unchanged.
Here it should be noted that, the Smali skip instruction in said method belongs to the register language of Dalvik.Dalvik is the java virtual machine of Android platform.
In said method, make full use of Android Dalvik statement feature, convert watermark information to skip instruction and embed.So, change watermark information into assembly code and embed, watermark information can be made to have high hiding, be not easily destroyed, the deployment difficulty that the dependence of source code is produced can also be avoided simultaneously, make the embedding of watermark and extraction be easy to realize.
Corresponding with above-mentioned watermark embedding method, the embodiment of the present invention two gives the extracting method of a software watermark, and the method is used for extracting the watermark utilizing said method to embed, and as shown in Figure 2, the method comprises:
Step 201, according to described event key script file, generate according to event trigger time sequencing arrangement flow of event.
This step, for the flow of event that generating watermark embedding author triggers, and arranges according to the order of sequence according to timestamp.
Step 202, the time sequencing triggered according to described event, simulate the triggering of each event in described flow of event successively; And in the trigger process of described event, extract corresponding assembly code section.
Particularly, this step, Android automated test tool (as Robotium, MonkeyRunner etc.) can be utilized, each event in the time sequencing triggered according to described event automatic run case stream, meanwhile, the Dynamic Debugging Tools such as IDA can be utilized to extract assembly code section corresponding to trigger event.Be implemented as those skilled in the art grasped, do not repeat them here.
Step 203, from the assembly code section of extracted each described event, the watermark code embedded by extraction, and convert described watermark code to corresponding watermark value.
Particularly, can adopt following method obtain embedded by watermark code, and convert described watermark code to corresponding watermark value and comprise:
From the assembly code section of extracted each described event, Smali skip instruction is wherein extracted successively according to code execution sequence, for each skip instruction, carry out redirect raw address to compare with destination address, if destination address is greater than raw address, then extract binary number 1, if destination address is less than raw address, then extract binary number 0; The binary number extracted in assembly code section from each described event is converted to decimal number, obtains the watermark value that each described event is corresponding.
Step 204, the accuracy of be converted to each watermark value and validity to be judged, and delete wherein invalid or wrong watermark value, obtain the watermark information be embedded in software.
Preferably, can Chinese remainder theorem be utilized, the accuracy of be converted to each watermark value and validity are judged.
Said extracted method, is the process with above-mentioned watermark embedding method contrary, based on the event key script file generated during watermark embedment, can realizes this inverse process, therefore can Quick take out embedded by watermark, and carry out Effective judgement.
Can be found out by the embedding of above-mentioned watermark and put forward the methods, the flow of event feature that the present invention utilizes Android Mobile solution software exclusive, convert watermark value to assembly code to embed, for setting up a kind of logic dependencies between watermark and program itself, make watermark information have high hiding, embedding and the extraction of watermark are simultaneously automation process, for developer, use difficulty low, developer's use procedure does not need to provide application source code, thus can ensure that the rights and interests of developer.
In addition, by utilizing all kinds of attack pattern in SandMark, comprise removal to attack, be out of shape attack, add attack and collusion attack etc., adopt the Android software watermark embedded by the present invention still can be successfully extracted, can prove that the present invention has enough elasticity and can resist attack.
Further, the watermarking inset and distill that the present invention realizes, the bag of beating again that can perform application software in batches detects, and automatically generate the examining report of txt text formatting and xls data form form after sensing respectively, be easy to book of final entry management, and the consolidated return of testing result can be generated when needing, conveniently comprehensively consult, analyze.
In sum, these are only preferred embodiment of the present invention, be not intended to limit protection scope of the present invention.Within the spirit and principles in the present invention all, any amendment done, equivalent replacement, improvement etc., all should be included within protection scope of the present invention.

Claims (7)

1. an embedding grammar for software watermark, is characterized in that, comprising:
A, watermark to be embedded to be split, obtain one group of watermark value;
B, start the software of watermark to be embedded, catch the event that user triggers, and according to the raw information of captured each event, the time sequencing triggered according to event, generates event key script file;
C, judge the quantity of described watermark value whether be less than or equal to described in the event number of catching; If so, then by each described watermark value respectively with the event establishment one-to-one relationship in described event key script file, wherein, the corresponding different event of different watermark value; Otherwise, perform step b;
D, each described watermark value is converted into watermark code, and is embedded in the assembly code section of event corresponding to this watermark value.
2. method according to claim 1, is characterized in that, described generation event key script file comprises:
For captured each event, the raw information of event is resolved, generate corresponding event detail, described event detail comprises event-triggered times, event type and event attribute, according to the time sequencing that event triggers, described event detail corresponding for each event is written in described software key script file.
3. method according to claim 1, is characterized in that, utilizes Chinese remainder theorem, carries out described fractionation to watermark to be embedded.
4. method according to claim 1, is characterized in that, described steps d comprises:
For each watermark value, convert this watermark value to binary number, represent skip instruction destination address be greater than raw address according to 1,0 represents the conversion principle that skip instruction destination address is less than raw address, according to n 0=m 0-k 0and n 1=m 1-k 1generate corresponding Smali skip instruction, generated Smali skip instruction is embedded in the assembly code section of event corresponding to this watermark value, carry out the assembly code section after described embedding to meet: according to sequencing and the described conversion principle of Smali skip instruction, after successively the Smali skip instruction in described assembly code section being converted to 0 or 1, the binary number that the numerical value obtained is corresponding with this watermark value is identical, and in described assembly code section, the execution sequence of original statement remains unchanged after described embedding;
Wherein, n 0represent the skip instruction number needing the representative 0 generated; n 1represent and need to generate the skip instruction number representing 1; m 0represent the number of in described binary number 0; m 1represent the number of in described binary number 1; k 0represent that in the assembly code section of event corresponding to watermark value, existing destination address is less than the skip instruction number of raw address; k 1represent that in the assembly code section of event corresponding to watermark value, existing destination address is greater than the skip instruction number of raw address.
5. an extracting method for software watermark, extracts for the watermark embedded the either method utilized described in claim 1 to 5, it is characterized in that, comprising:
According to described event key script file, generate the flow of event of the time sequencing arrangement triggered according to event;
According to the time sequencing that described event triggers, simulate the triggering of each event in described flow of event successively; And in the trigger process of described event, extract corresponding assembly code section;
From the assembly code section of extracted each described event, the watermark code embedded by extraction, and convert described watermark code to corresponding watermark value;
The accuracy of be converted to each watermark value and validity are judged, and deletes wherein invalid or wrong watermark value, obtain the watermark information be embedded in software.
6. method according to claim 5, is characterized in that, the watermark code embedded by described acquisition, and converts described watermark code to corresponding watermark value and comprise:
From the assembly code section of extracted each described event, Smali skip instruction is wherein extracted successively according to code execution sequence, for each skip instruction, carry out redirect raw address to compare with destination address, if destination address is greater than raw address, then extract binary number 1, if destination address is less than raw address, then extract binary number 0; The binary number extracted in assembly code section from each described event is converted to decimal number, obtains the watermark value that each described event is corresponding.
7. method according to claim 5, is characterized in that, utilizes Chinese remainder theorem, judges the accuracy of be converted to each watermark value and validity.
CN201410806446.3A 2014-12-22 2014-12-22 The insertion of software watermark and extracting method Active CN104462884B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410806446.3A CN104462884B (en) 2014-12-22 2014-12-22 The insertion of software watermark and extracting method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410806446.3A CN104462884B (en) 2014-12-22 2014-12-22 The insertion of software watermark and extracting method

Publications (2)

Publication Number Publication Date
CN104462884A true CN104462884A (en) 2015-03-25
CN104462884B CN104462884B (en) 2017-09-29

Family

ID=52908911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410806446.3A Active CN104462884B (en) 2014-12-22 2014-12-22 The insertion of software watermark and extracting method

Country Status (1)

Country Link
CN (1) CN104462884B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379642A (en) * 2018-12-14 2019-02-22 连尚(新昌)网络科技有限公司 It is a kind of for adding and detecting the method and apparatus of video watermark

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2402880A1 (en) * 2010-07-01 2012-01-04 Aladdin Europe GmbH Method and device for selectively protecting one of a plurality of methods of a class of an application written in an object-orientated language
CN103530536A (en) * 2013-09-30 2014-01-22 南通大学 Method for embedding Java software watermark
CN103824006A (en) * 2014-03-12 2014-05-28 中国科学院信息工程研究所 Method and system for mobile phone application software to automatically generate watermark

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2402880A1 (en) * 2010-07-01 2012-01-04 Aladdin Europe GmbH Method and device for selectively protecting one of a plurality of methods of a class of an application written in an object-orientated language
CN103530536A (en) * 2013-09-30 2014-01-22 南通大学 Method for embedding Java software watermark
CN103824006A (en) * 2014-03-12 2014-05-28 中国科学院信息工程研究所 Method and system for mobile phone application software to automatically generate watermark

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379642A (en) * 2018-12-14 2019-02-22 连尚(新昌)网络科技有限公司 It is a kind of for adding and detecting the method and apparatus of video watermark
CN109379642B (en) * 2018-12-14 2020-12-08 连尚(新昌)网络科技有限公司 Method and device for adding and detecting video watermark and computer readable medium

Also Published As

Publication number Publication date
CN104462884B (en) 2017-09-29

Similar Documents

Publication Publication Date Title
Zhou et al. AppInk: watermarking android apps for repackaging deterrence
CN105683990B (en) Method and apparatus for protecting dynamic base
CN107169324A (en) A kind of Android application reinforcement means based on dynamic encryption and decryption
CN108491235B (en) DEX protection method combining dynamic loading and function Native
CN107273723B (en) So file shell adding-based Android platform application software protection method
US10628562B2 (en) Method for protecting a computer program from being influenced, and computer system
CN104268444A (en) Cloud OS Java source code protection method
Cimitile et al. Formal methods meet mobile code obfuscation identification of code reordering technique
JP2004362532A (en) Watermark insertion device and watermark extraction device
Chen et al. Semantic-integrated software watermarking with tamper-proofing
CN106030604B (en) The method for protecting confidential data when using confidential data in Encryption Algorithm
CN116611032A (en) Method, system and storage medium for embedding and extracting software watermark in JAR package
CN104462884A (en) Embedding and extracting method for software watermark
CN109241706B (en) Software plagiarism detection method based on static birthmarks
Jeon et al. A robust steganography-based software watermarking
Niu et al. Clone analysis and detection in android applications
He et al. Tamperproofing a software watermark by encoding constants
Chen et al. Hidden path: dynamic software watermarking based on control flow obfuscation
CN103714271A (en) Contradictory construction method of Java-software watermark-embedding dummy method
CN109933962B (en) Software watermarking method based on question guess
Alrehily et al. Software watermarking based on return-oriented programming for computer security
Abdel-Hamid et al. Fragile IP watermarking techniques
CN102122335B (en) Method for restricting illegal JAVA software operation by using software watermarks
Khan et al. A Comparative Analysis of Software Protection Schemes.
Kumar et al. A comparative analysis of static java bytecode software watermarking algorithms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant