1. A method of protecting protected computer-executable instructions capable of executing on a computing device having virtual memory, the method comprising the steps of: partitioning the virtual memory into segments comprising: a first segment, a second segment and a third segment such that the first segment and the second segment overlap in a first overlap segment and such that second segment and the third segment overlap in a second overlap segment; establishing access rights that prevent computer-executable instructions executing from the third segment from accessing contents of the first segment and from modifying contents of the second segment and that prevent computer-executable instructions executing from the second segment from modifying contents of the first segment; loading the protected computer-executable instructions into the first overlap segment; loading the protected data into a first portion of the first segment external to the first overlap segment; loading, into the second segment, computer-executable instructions and data comprising an indirection table to the protected computer-executable instructions; and loading, into the third segment, computer-executable instructions that can utilize the protected computer-executable instructions via the indirection table.