Reference Hub1
Self-Modifying Code: A Provable Technique for Enhancing Program Obfuscation

Self-Modifying Code: A Provable Technique for Enhancing Program Obfuscation

Chandan Kumar Behera, D. Lalitha Bhaskari
Copyright: © 2017 |Volume: 8 |Issue: 3 |Pages: 18
ISSN: 1947-3036|EISSN: 1947-3044|EISBN13: 9781522513872|DOI: 10.4018/IJSSE.2017070102
Cite Article Cite Article

MLA

Behera, Chandan Kumar, and D. Lalitha Bhaskari. "Self-Modifying Code: A Provable Technique for Enhancing Program Obfuscation." IJSSE vol.8, no.3 2017: pp.24-41. http://doi.org/10.4018/IJSSE.2017070102

APA

Behera, C. K. & Bhaskari, D. L. (2017). Self-Modifying Code: A Provable Technique for Enhancing Program Obfuscation. International Journal of Secure Software Engineering (IJSSE), 8(3), 24-41. http://doi.org/10.4018/IJSSE.2017070102

Chicago

Behera, Chandan Kumar, and D. Lalitha Bhaskari. "Self-Modifying Code: A Provable Technique for Enhancing Program Obfuscation," International Journal of Secure Software Engineering (IJSSE) 8, no.3: 24-41. http://doi.org/10.4018/IJSSE.2017070102

Export Reference

Mendeley
Favorite Full-Issue Download

Abstract

This article describes how code obfuscation techniques aim to conceal the functionality of a program by mystifying the code so that it is unreadable or in an incomprehensible format. Since the objective of this article is to make a program obfuscated, the source code shall appear like normal native code and should be perfectly readable. As nobody can guess that the code is an obfuscated one, obviously it will be very tough to analyze. Nowadays, a lot of programs protect themselves from being analyzed by hiding their behaviors or compressing their semantics by using obfuscation techniques. On the contrary, self-modifying code (SMC) can challenge one's intellect to discover the real intrinsic meaning of the source code as it is difficult and strenuous to analyze, since the code gets modified dynamically during runtime. Hence, this article brings into play the underlying concepts of self-modifying codes for obfuscating the programs to construct a much better code protection model. Some techniques like indirect memory addressing, register renaming, direction-changing of instructions, segment ignoring, modification of registry content and many more are expounded in this article by using Assembly-level language, which is binary obfuscation.

Request Access

You do not own this content. Please login to recommend this title to your institution's librarian or purchase it from the IGI Global bookstore.