Patent ID: 7426718

Claim:
A system of protecting the integrity of at least one virtual pointer against foreign code, wherein said system is stored on a computer readable memory, comprising: a constructor for instantiating an object; a data structure, wherein the constructor provides a notification to the data structure about the at least one virtual pointer which is associated with the object, wherein the at least one virtual pointer points to a virtual table; and wherein said notification includes information regarding when said at least one virtual pointer is created and to where it is pointing; a verifying module, wherein the verifying module verifies at some point after the notification that the at least one virtual pointer is still pointing to the virtual table; wherein the verifying module verifies at least partly based on the notification provided to the data structure; wherein the verifying module verifies that the at least one virtual pointer is still pointing to the virtual table at specified periods of time, wherein a frequency of verifying by the verifying module is a function of computing resources; wherein the verifying module takes at least one protective action if the at least one virtual pointer is no longer pointing to the virtual table; the at least one protective action includes performing a notification action to another module or a process that the virtual pointer is no longer pointing to the virtual table; the at least one protective action includes terminating execution of a process associated with the virtual pointer, or corrupting a stack associated with the virtual pointer; and the at least one protective action includes replacing the virtual pointer to point to the virtual table again.