Abstract
Code obfuscation is a kind of powerful protection technique for software code. At present, research on obfuscation techniques is mainly focused on analyzing the effect of single obfuscation method, leaving few discussions on cooperative obfuscation of multiple methods. This paper firstly presented a brief introduction of the concept and methods of code obfuscation, then designed and implemented an obfuscator with multiple obfuscation methods. Then, a collaborative obfuscation strategy suitable for multiple obfuscation methods is proposed in detail. Finally, we verified that the obfuscation strategy indeed improves the performance of obfuscation through experiments.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Collberg, C., Thomborson, C., Low, D.: A Taxonomy Of Obfuscating Transformations. Department of Computer Science, The University of Auckland, New Zealand (1997)
László, T., Kiss, Á.: Obfuscating C++ programs via control flow flattening. Annal. Univ. Sci. Budapestin. Rolando Eötvös Nominat. Sect. Comput. 30(1), 3–19 (2009)
Kencana, G.H., Saleh, A., Darwito, H.A., et al.: Comparison of maintainability index measurement from Microsoft Codelens and line of code. In: 2020 7th International Conference on Electrical Engineering, Computer Sciences and Informatics (EECSI), pp. 235–239. IEEE (2020)
Xu, D.: Opaque Predicate: Attack and Defense in Obfuscated Binary Code. Penn State University (2018)
Li, Z.L.: The Research and Application of Opaque Predicates Based on Chaos Theory. Guangdong University of Technology (2012)
Hariprasad, T., Vidhyagaran, G., Seenu, K., et al.: Software complexity analysis using halstead metrics. In: 2017 International Conference on Trends in Electronics and Informatics (ICEI), pp. 1109–1113. IEEE (2017)
Ebert, C., Cain, J., Antoniol, G., et al.: Cyclomatic complexity. IEEE Softw. 33(6), 27–29 (2016)
Munson, J.C., Kohshgoftaar, T.M.: Measurement of data structure complexity. J. Syst. Softw. 20(3), 217–225 (1993)
Anugrah, I.G., Sarno, R., Anggraini, R.N.E.: Decomposition using Refined Process Structure Tree (RPST) and control flow complexity metrics. In: 2015 International Conference on Information and Communication Technology and Systems (ICTS), pp. 203–208. IEEE (2015)
Mubarak, A., Counsell, S., Hierons, R.M.: An evolutionary study of fan-in and fan-out metrics in OSS. In: 2010 Fourth International Conference on Research Challenges in Information Science (RCIS), pp. 473–482. IEEE (2010)
Buonamici, F., Carfagni, M., Furferi, R., et al.: Reverse engineering modeling methods and tools: a survey. Comput. Aided Design Appl. 15(3), 443–464 (2018)
Pan, Y., Zhu, Y.F., Lin, W.: Code obfuscation based on instructions swapping. Ruan Jian Xue Bao/J. Softw. 30(6), 1788–1792 (2019) (in Chinese). http://www.jos.org.cn/1000-9825/5429.htm
Kiperberg, M., Leon, R., Resh, A., et al.: Hypervisor-based protection of code. IEEE Trans. Inf. Forens. Secur. 14(8), 2203–2216 (2019)
Pizzolotto, D., Fellin, R., Ceccato, M.: OBLIVE: seamless code obfuscation for Java programs and Android apps. In: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 629–633. IEEE (2019)
Wang, H., Wang, S., Xu, D., et al.: Generating effective software obfuscation sequences with reinforcement learning. IEEE Trans. Depend. Secure Comput. (2020)
Balachandran, V., Keong, N.W., Emmanuel, S.: Function level control flow obfuscation for software security. In: 2014 Eighth International Conference on Complex, Intelligent and Software Intensive Systems, pp. 133–140. IEEE (2014)
Liu, H., Sun, C., Su, Z., et al.: Stochastic optimization of program obfuscation. In: 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), pp. 221–231. IEEE (2017)
Acharya, M., Robinson, B.: Practical change impact analysis based on static program slicing for industrial software systems. In: 2011 33rd International Conference on Software Engineering (ICSE), pp. 746–755. IEEE (2011)
Baldoni, R., Coppa, E., D’elia, D.C., et al.: A survey of symbolic execution techniques. ACM Comput. Surv. (CSUR) 51(3), 1–39 (2018)
Acknowledgments
This work was supported by the National Natural Science Foundation of China (no. 62072037) and Zhejiang Lab (2020LE0AB02).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Singapore Pte Ltd.
About this paper
Cite this paper
Ma, Y., Li, Y., Zhang, Z., Zhang, R., Liu, L., Zhang, X. (2021). A Classic Multi-method Collaborative Obfuscation Strategy. In: Tan, Y., Shi, Y., Zomaya, A., Yan, H., Cai, J. (eds) Data Mining and Big Data. DMBD 2021. Communications in Computer and Information Science, vol 1454. Springer, Singapore. https://doi.org/10.1007/978-981-16-7502-7_10
Download citation
DOI: https://doi.org/10.1007/978-981-16-7502-7_10
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-16-7501-0
Online ISBN: 978-981-16-7502-7
eBook Packages: Computer ScienceComputer Science (R0)