Skip to main content

Can a Program Reverse-Engineer Itself?

  • Conference paper
Cryptography and Coding (IMACC 2011)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 7089))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Chapter  Google Scholar 

  2. Burger, J., Brill, D., Machi, F.: Self-reproducing programs. Byte 5, 74–75 (1980)

    Google Scholar 

  3. Cutland, N.: Computability: An introduction to recursive function theory, pp. 202–204. Cambridge University Press (1980)

    Google Scholar 

  4. Ghosh, D., Sharman, R., Rao, H., Upadhyaya, S.: Self-healing systems survey and synthesis. Decision Support Systems 42, 2164–2185 (2007)

    Article  Google Scholar 

  5. Hofstadter, D.: Godel, Escher, and Bach: An eternal golden braid, pp. 498–504. Basic Books, Inc., New York

    Google Scholar 

  6. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics