Font Size: a A A

Research On Software Protection Technology Based On Code Obfuscation

Posted on:2018-11-27Degree:MasterType:Thesis
Country:ChinaCandidate:H W YangFull Text:PDF
GTID:2348330515983574Subject:Engineering
Abstract/Summary:PDF Full Text Request
With the continuous development of IT industry,the use of software is in all walks of life.The software function is powerful,which leads to the high cost of software development,software cracking and piracy increasingly.In order to reduce the loss of software developers and ensure the normal operation of the software industry,many schools and enterprises have paid more attention to the research of software protection and many software protection algorithms are designed.Software protection is divided into soft encryption and hard encryption.Although the security of hard encryption is high,but the price is very expensive;because of its low cost,soft encryption is widely used.Code obfuscation is a very common method of soft encryption in software protection,confusion after and confusion before the program are the same or similar in function and behavior,the main purpose is to let the reverse analysts is difficult to use a reverse engineering to unscramble the source code writed by software designers.Code obfuscation is mainly divided into three types,namely layout obfuscation,data obfuscation and control confusion,in this paper the 3 kinds of confusion were analyzed and compared,and summarized their advantages and disadvantages,and then has constructed the multiple code obfuscation model.This paper has studied the single confusion involved in multiple code obfuscation:(1)Research based on pseudorandom permutation: permutation confusion's the biggest characteristic is its high efficiency,but the pure replacement safety is low,therefore,this paper produced some key by pseudo-random sequence,then the identifier in the program has been encrypted,then conducted the experiment and analysis.(2)Research on homomorphic encryption: the application of homomorphic encryption is an integer,which is a great limitation to its use.This paper used the theorem of Sun Tzu to package other types of data,so that they could be operated by homomorphic encryption,thisalgorithm has expanded the application scope of homomorphic encryption.At the same time,the Fourier transform of the algorithm has been improved in this paper.Through the application of the algorithm in the code obfuscation experiment,it could be seen that the scope of application has not only been expanded,but also the computational efficiency has been greatly improved without affecting the safety.(3)Research on opaque Predicate: opaque predicates confusion is simple to realize,but it needs to make great efforts to design impalpable opaque predicates,N state hash opaque predicate is a good choice.In this paper,the idea of pseudo-random sequence has been introduced to improve the opacity of N state hash,which made it easy to generate,and there was no regularity,could reduce the readability of the software,it was hard for the attacker to understand function information of the software.After making improvements to the above three points,this paper has realized the multiple code obfuscation prototype system,and used the system to protect the communication system,encrypted the system database and program.By analyzing and contrasting the program before obfuscation and after obfuscation,the advantages of the algorithm in this paper is highlighted.
Keywords/Search Tags:code obfuscation, pseudorandom permutation, homomorphism, opaque predicate
PDF Full Text Request
Related items