Patent ID: 8176333

Claim:
A computer program product, comprising: (a) a non-transitory computer-readable storage media; and (b) program instructions to perform a method of protecting a software program having an external library reference, whereby call convention can be used to ensure calls to the external library resolve to a correct instance of a function and that the instance has not been modified, the method comprising: receiving a digitally signed software program having a call to an external library, the call comprising an invariant target descriptor and a digital signature, wherein the digital signature comprises a hash of the external library encrypted by a recognized source of the software program; extracting the digital signature from the call; extracting the hash from the digital signature; using the invariant target descriptor to identify a first external library candidate; computing a hash of the first external library candidate; and comparing the extracted hash to the computed hash of the first external library candidate; wherein the said program instructions are stored on said non-transitory computer-readable storage media.