| Over the years,the software has evolved from the free code that along with hardware to the product of independent value,which almost supports the automation of all electronic devices and systems.The advent of the Internet era makes more and more software distributed in the mobile side,the status of software in people’s lives become more important.At the same time,software analysis techniques and tools have evolved accordingly.The development of software analysis tools once helped software developers to analyze and refine their software programs,unfortunately,with the importance and value of software upgrade,the same software analysis technology maliciously used in reverse software systems,bringing great economic losses.Code obfuscation technology is a new software protection method which can effectively block reverse engineering.It transforms the program into a more difficult form of understanding and modification.Therefore,this paper chooses the code obfuscation technology as the research object.This paper takes the software protection of the executable program on the Linux platform as the research purpose.On the basis of reviewing the background of code obfuscation and briefly summarizing the main contents and advantages and disadvantages of representative code obfuscation techniques,the paper focuses on the lack of performance loss and the excessive consumption of resources of binary obfuscation algorithm to innovatively proposes a dynamic self-modifying code obfuscation technique combined with white-box cryptography.The work of this paper mainly includes: 1.Research code obfuscation related technology,which contains a description of the concept of code obfuscation,the classification of the obfuscation from different view and discuss how to evaluate the effectiveness of the obfuscation algorithm.2.Analyze the key technologies needed to implement dynamic self-modify obfuscation algorithm based on white-box cryptography.The organization structure of ELF file format,the white box DES algorithm based on lookup table and the central idea of dynamic self-modifying algorithm are studied based on the characteristics of static and dynamic reverse analysis technology of binary program.3.Design and implement the dynamic self-modify obfuscation algorithm combining with white-box cryptography.The design idea and thewhole framework of the algorithm are given.The design and implementation process of the obfuscator and the dynamic self-deobfuscated part are described in detail,and then the self-modifying state machine algorithm is used to enhance the security.The code obfuscation technology for the binary code is implemented on the Linux platform using C language.4,Define the software threat model.We will do the relevant experiment under this model to test the potency,resilience,cost and stealthy indicators of the code obfuscation algorithm proposed in this paper,and finally evaluate the performance of the algorithm based on the experimental results.5.Summed up the full text of the work of this paper,and discusses the part to be improved of the algorithm proposed in this paper and look forward to the future application scenarios.Experimental results show that the algorithm proposed in this paper can effectively resist static and dynamic attacks.Also the extra time and space required for the obfuscated program after the additional time are small revealing this confusion is cheap. |