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; 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 and data into the first 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.