Pure Infinitely Self-Modifying Code is Realizable and Turing-complete

Authors

Abstract

Although self-modifying code has been shyed away from due to its complexity and discouragement due to safety issues, it nevertheless provides for a very unique obfuscation method and a different perspective on the relationship between data and code.  The generality of the von Neumann architecture is hardly realized by today's processor models.  A code-only model is shown where every instruction merely modifies other instructions yet achieves the ability to compute and Turing machine operation is easily possible.

Author Biography

Gregory Morse, Eotvos Lorand University

Student of MSc in Computer Science

References

Dolan, S. mov is Turing-complete. Computer Laboratory, University of Cambridge. Technical report (2013)

The M/O/Vfuscator (2015). https://github.com/xoreaxeaxeax/movfuscator

Anckaert B., Madou M., De Bosschere K. (2007) A Model for Self-Modifying Code. In: Camenisch J.L., Collberg C.S., Johnson N.F., Sallee P. (eds) Information Hiding. IH 2006. Lecture Notes in Computer Science, vol 4437. Springer, Berlin, Heidelberg [https://doi.org/10.1007/978-3-540-74124-4_16]

Hongxu Cai , Zhong Shao , Alexander Vaynberg, Certified self-modifying code, ACM SIGPLAN Notices, v.42 n.6, June 2007 [https://doi.org/10.1145/1273442.1250743]

Downloads

Published

2018-04-27

Issue

Section

Cryptography and Cybersecurity