Abstract
Shape-memory alloys are metal pieces that ”remember” their original cold-forged shapes and return to the pre-deformed shape after heating. In this work we construct a software analogous of shape-memory alloys: programs whose code resists obfuscation. We show how to pour arbitrary functions into protective envelops that allow recovering the functions’ exact initial code after obfuscation. We explicit the theoretical foundations of our method and provide a concrete implementation in Scheme.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sahai, A., Vadhan, S.P., Yang, K.: On the (Im)possibility of Obfuscating Programs. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 1–18. Springer, Heidelberg (2001)
Burger, J., Brill, D., Machi, F.: Self-reproducing programs. Byte 5, 74–75 (1980)
Cutland, N.: Computability: An introduction to recursive function theory, pp. 202–204. Cambridge University Press (1980)
Ghosh, D., Sharman, R., Rao, H., Upadhyaya, S.: Self-healing systems survey and synthesis. Decision Support Systems 42, 2164–2185 (2007)
Hofstadter, D.: Godel, Escher, and Bach: An eternal golden braid, pp. 498–504. Basic Books, Inc., New York
Amarilli, A., Müller, S., Naccache, D., Page, D., Rauzy, P., Tunstall, M.: Can Code Polymorphism Limit Information Leakage? In: Ardagna, C.A., Zhou, J. (eds.) WISTP 2011. LNCS, vol. 6633, pp. 1–21. Springer, Heidelberg (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Amarilli, A., Naccache, D., Rauzy, P., Simion, E. (2011). Can a Program Reverse-Engineer Itself?. In: Chen, L. (eds) Cryptography and Coding. IMACC 2011. Lecture Notes in Computer Science, vol 7089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25516-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-25516-8_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25515-1
Online ISBN: 978-3-642-25516-8
eBook Packages: Computer ScienceComputer Science (R0)