1. A method of protecting a computing device against malware, the method comprising: defining a pattern of disruption of a sequence of bytes of a machine language program; applying the pattern of disruption to one or more selected machine language programs to produce one or more modified selected programs; determining one or more transforms necessary to reverse the application of the disruptive pattern; and applying the one or more transforms to machine language programs loaded into a read only memory (RAM) of the computing device, whereby only the one or more selected programs will execute correctly; wherein defining the pattern of disruption comprises receiving from a user of the computing device a specification of an explicit vector of integers defining the difference between serial indices of addresses of bytes in the one or more selected programs and serial indices of bytes in the one or more modified selected programs.