Font Size: a A A

Research And Implement Of Code Protectton Technology For Android Native Aplications

Posted on:2021-08-09Degree:MasterType:Thesis
Country:ChinaCandidate:S Y BaiFull Text:PDF
GTID:2518306308470364Subject:Cyberspace security
Abstract/Summary:PDF Full Text Request
With the popularization of Android mobile intelligent terminal,Android applications bring many security problems while improving people's production and life.At present,the security protection technology for the Android Java layer has been preliminarily mature,but the code protection of the Native layer is still in development.Therefore,this paper studies the code protection technology of the Android Native layer,and designs and implements the code protection scheme for the Android Native layer by using the replacement obfuscation and control flow obfuscation technology.In this paper,we propose a new split method for integer,which is a common data type.By changing the length of data in memory,we increase the complexity of integer operation,and apply the split algorithm to array subscript substitution and operand substitution.For the operators of logical operation,the instruction replacement template is designed to realize the instruction replacement,which increases the difficulty of understanding the operation instruction.Two obfuscation schemes are proposed for control flow obfuscation.One solution is to implement false branch forgery obfuscation,focusing on designing the opaque predicate generation process of the technology.Compared with other generation algorithms using single theory,this paper combines chaos and number theory to propose an algorithm for generating opaque predicates based on congruence equation and knapbag problem,which increases the complexity of the process of generating opaque predicates and the unpredictability of the output results.Another scheme is to realize the flat control flow,which bundles the sequential instruction flow into a switch-case structure,and USES the control variable to command the program to execute according to the normal logic.According to the obfuscation algorithm proposed above,a code obfuscation system for Android Native layer is designed and implemented in this paper,which provides array subscript replacement,integer operand replacement,instruction replacement,flat control flow and false branch forgery obfuscation module.These modules can be used in combination to enrich the obfuscation strategy.Finally,the opaque predicate algorithm and obfuscating system proposed by ourselves are tested and analyzed,and the control experiment of obfuscating scheme with OLLVM is added.The results show that,on the basis of ensuring the normal execution of the program after obfuscation,the proposed scheme has good randomness and obfuscation intensity of algorithm output.Sometimes,the code expansion rate can reach 150%,the CPU occupancy is close to the time cost before obfuscation,and the robustness is over 99.99%,which is better than the obfuscation strategy of OLLVM.
Keywords/Search Tags:Android Native, code confusion, opaque predicate
PDF Full Text Request
Related items