| With science and technology’s rapid development, today computer brings greatconvenience to our product and life. As increasing dependent on computer, people paymore and more attention to software security. How to protect software is an importantresearch topic because of a series of threats, such as privates and attacks. This essaybriefly discusses current means of protect, such as hardware-based protect, encryptprotect and code obfuscation. Considering its good effect and low cost in softwareprotect, we choose code obfuscation to be our research topic.Code obfuscation is a translation of program with original semantics. It makesprogram hard to understand and analyze for the purpose of protecting program fromreverse engineering. Code obfuscation, software protect technology proposed in1990s,has been a hot issue in recent years.This essay discusses binary code obfuscation translation and analyzes itstechnologies to protect binary program. The main work of this essay is as following:First part is code obfuscation translation research. As the base of the research, thisessay summarizes analysis and attack technologies to binary program. Then we discussthe definition, the classification and the metrics of obfuscation translation. Tounderstand research perspective and current status we analyze several classificationmethods and obfuscation translations. Finally we summed up ourtransformation-element classification of binary code obfuscation for the purpose ofproviding ideas of new obfuscation translation research for others. We propose two newobfuscation translations, the translation of confusing code&data and the translation oftransformation the opcode, based on our classification, and discuss their principles anddescriptions in detailed.The other part is the research of obfuscation technologies and the experiment. Thisessay researches the technologies of binary code obfuscation. It elaborates the overallframework and each module in detail. The implementations of the two new obfuscationtranslations are discussed. Then we design and achieve the experiment. The result of theexperiment shows the effect of translations and their impact on the efficiency of binary program. According the result, we discuss the applicable occasions of the translations.Finally we discuss some problems on implementations for the future work. |