Category: Self replicating code

Self replicating software - Part 4 - The difference between worms and viruses

29 December, 2006 (16:07) | Digital forensics, Self replicating code | No comments

This is the fourth part of the installment on self replicating software. This post deals with worms (a subset of computer viruses).
Briefly, a computer virus is a program that infects other programs with an optionally mutated copy of itself. This is the basic definition that Fred Cohen (the “father” of computer viruses) used in [...]

Self replicating software - Part 3 - Other methods

18 July, 2006 (12:32) | Computing theory, Digital forensics, Self replicating code | No comments

Up until now, this thread of posts has been rather theoretical, talking about Turing machines, etc. the only time there was some source code was for showing a program that can print out a description of itself (its source code).
Well, one problem with the self-replication method for getting a copy of a program’s description is [...]

Self replicating software - Part 2 - Recursion theorem proof

9 July, 2006 (02:08) | Computing theory, Digital forensics, Self replicating code | No comments

In this post I’ll cover the proof of the Recusion theorem (see Self Replicating Software - Part 1 - The Recursion Theorem).
The proof for the Recursion theorem is a constructive proof, meaning that a Turing Machine (TM) that can reference its own description is constructed. This proof was taken from Michael Sipser’s “An Introduction to [...]

Self replicating software - Part 1 - The Recursion Theorem

5 July, 2006 (17:13) | Computing theory, Digital forensics, Self replicating code | 1 comment

This is the first in a multi part post about computing theory and self replicating software. This post assumes you have knowledge and understanding of a Turing Machine (abbreviated TM). If you aren’t familiar with Turing Machines (TMs) then you may want to take a look at the Wikipedia entry on the topic at http://en.wikipedia.org/wiki/Turing_machine [...]