Self-modifying code can involve overwriting existing instructions or generating new code at run time and transferring control to that code.
FactSnippet No. 1,631,978 |
Self-modifying code can involve overwriting existing instructions or generating new code at run time and transferring control to that code.
FactSnippet No. 1,631,978 |
Self-modifying code is quite straightforward to implement when using assembly language.
FactSnippet No. 1,631,979 |
Self-modifying code is sometimes used to overcome limitations in a machine's instruction set.
FactSnippet No. 1,631,980 |
The Algol compiler on B6700 systems offered an interface to the operating system whereby executing Self-modifying code could pass a text string or a named disc file to the Algol compiler and was then able to invoke the new version of a procedure.
FactSnippet No. 1,631,981 |
Self-modifying code is more complex to analyze than standard code and can therefore be used as a protection against reverse engineering and software cracking.
FactSnippet No. 1,631,982 |
Self-modifying code is sometimes used by programs that do not want to reveal their presence, such as computer viruses and some shellcodes.
FactSnippet No. 1,631,984 |
Viruses and shellcodes that use self-modifying code mostly do this in combination with polymorphic code.
FactSnippet No. 1,631,985 |
One mechanism for preventing malicious Self-modifying code modification is an operating system feature called W^X.
FactSnippet No. 1,631,986 |
Self-modifying code is harder to read and maintain because the instructions in the source program listing are not necessarily the instructions that will be executed.
FactSnippet No. 1,631,987 |
Self-modifying code can be rewritten as code that tests a flag and branches to alternative sequences based on the outcome of the test, but self-modifying code typically runs faster.
FactSnippet No. 1,631,988 |
Self-modifying code cannot be used at all in some environments, such as the following:.
FactSnippet No. 1,631,989 |