1. A method, comprising: randomly ordering code modules of a partially linked object code version of software including a plurality of code modules, wherein the partially linked object code version of the software has at least a portion of external references resolved; inserting a random number of bytes between all of the randomly ordered code modules; and generating an executable image of the software that included the random number of bytes inserted between all of the randomly ordered code modules, and the executable image is unique to a local system, wherein the steps of randomly ordering the code modules, inserting the random number of bytes, and generating the executable image are performed during a software installation process.