Font Size: a A A

Research And Application Of Obfuscation Technology Based On Enhanced Bi-Opaque Predicate

Posted on:2024-09-14Degree:MasterType:Thesis
Country:ChinaCandidate:Y F WangFull Text:PDF
GTID:2568306941963749Subject:Computer technology
Abstract/Summary:PDF Full Text Request
Software as a tool for information processing has been integrated into people’s lives,studies and work,and has brought great convenience to people.However,reverse attack techniques are used to crack software in order to obtain its core data or algorithms,which poses huge challenges to software security.Faced with this dilemma,code obfuscation has become the important solution to combat software reverse attacks due to its high practicality and effectiveness.Opaque predicate obfuscation is one of the most common code obfuscation techniques.Opaque prdicate can be used to protect existing branch conditions or branches are forged by opaque prdicate to complicate control flow.Existing opaque predicate has the disadvantages of simple construction,low complexity and high cost,and the enhancement of symbolic execution deobfuscation in path exploration and constraints solving enables the correct detection of opaque predicate.In view of the above problems,this thesis conducts an in-depth study on opaque predicate obfuscation based on symbolic memory and chaos theory.Firstly,aiming at the problem of small symbolic variable in resisting opaque predicate detection performed by symbolic execution,an opaque predicate construction algorithm without size constraints is proposed.It designs unequal conditional expressions by single array nesting and modulo add operations of symbolic variable that can cause symbolic execution to get false opaque predicate detection results,which reveals its security in resisting deobfuscation.The obfuscation algorithm increases program length,cyclomatic complexity,data flow complexity and path branch complexity,and the extra runtime and storage cost are rarely produced.Secondly,the above obfuscation algorithm is improved based on the result of expanded solution of symbolic execution deobfuscation to increase its deobfuscator effort,and an enhanced protection scheme called an opaque predicate construction algorithm based on symbolic memory and two-dimensional tent chaotic map is proposed.The number-theoretic expression is complicated by the constant chaotic opaque expression,and the existing condition is protected by array,symbolic variable and variable chaotic opaque expression.The obfuscation algorithm makes it more difficult for symbolic execution deobfuscation by complicating the mapping progress from memory addresses to symbolic value in symbol constraints.It improves the complexity of the program in control flow and date flow,and its overhead in time and space is acceptable.Finally,the enhanced bi-opaque predicate obfuscation system called ENBOPS is designed and developed based on two obfuscation algorithms described above,and the specific design and implementation of seven modules such as intermediate code compilation module,dispatch module,obfuscation module and two-dimensional tent chaotic map module are given.To verify its obfuscation effect,the detailed functional testing and performance testing are carried out separately.The measurement results show that it not only supports the function of inserting opaque predicate automatically,but also has excellent performances in terms of potency,resilience and cost,which reflects the meaningful improvements made on the field of opaque predicate obfuscation and indicates high practical value.
Keywords/Search Tags:Opaque Predicate Obfuscation, Symbolic Memory, Chaos Theory, Code Obfuscation, Symbolic Execution Deobfuscation
PDF Full Text Request
Related items