A Model for Self-Modifying Code
نویسندگان
چکیده
Self-modifying code is notoriously hard to understand and therefore very well suited to hide program internals. In this paper we introduce a program representation for this type of code: the state-enhanced control flow graph. It is shown how this program representation can be constructed, how it can be linearized into a binary program, and how it can be used to generate, analyze and transform self-modifying code.
منابع مشابه
A taxonomy of self-modifying code for obfuscation
Self-modifying code is frequently used as an additional layer of complexity when obfuscating code. Although it does not provide a provable level of obfuscation, it is generally assumed to make attacks more expensive. This paper attempts to quantify the cost of attacking self-modified code by defining a taxonomy for it and systematically categorising an adversary’s capabilities. A number of publ...
متن کاملThe State-Enhanced Control Flow Graph
In the omnipresent model of the stored-program computer, both the instructions and data are held in a single storage structure. Therefore, instructions can be read and written as if they were data. In practice however, instructions rarely change during the execution of the program. As a result, it is often assumed that the instructions are constant. Therefore, many tools and analyses fail in th...
متن کاملHarnessing Self-modifying Code for Resilient Software
In this paper we argue that self-modifying code can become a better strategy for realizing long-lived autonomous software systems than static code, regardless how well it was validated and tested. We base our discussion on three facets – self-repairing software, adaptive software and networked systems – for which we point out ongoing and related work before presenting a roadmap towards a contro...
متن کاملDesigning Self-modifying Agents
Agents need to be able to adapt to changes in their environment. One way to achieve this, is to provide agents with the ability of self-modification. Self-modification requires reflection and strategies with which new knowledge can be acquired, a necessary condition for creativity. This paper describes a knowledge-level model for the design of self-modifying agents and explores the feasibility ...
متن کاملEmbodied genomes and metaprogramming
We model some of the crucial properties of biological novelty generation, and abstract these out into minimal requirements for an ALife system that exhibits constant novelty generation (open ended evolution) combined with robustness. The requirements are an embodied genome that supports runtime metaprogramming (‘self modifying code’), generation of multiple behaviours expressible as interfaces,...
متن کامل