Patent ID: 8583939

Claim:
A method for protecting against manipulation of a code pointer to a library function to be called by a program, the method performed by an apparatus comprising a memory onto which the program is loaded and a processor by which the program is executed, the method comprising: inserting, by a static linker, a sequence of instructions for decoding an address of the library function into a PLT (Procedure Linkage Table) entry; storing, by a dynamic linker, an encoded address of the library function into a GOT (Global Offset Table) entry; and decoding, by the sequence of instructions for decoding inserted in the PLT entry, the encoded address of the library function stored in the GOT entry, when the address of the library function is loaded into the PC (program counter) register of the processor; wherein the address of the library function is encoded with one or more encoding keys which is generated after the program is loaded onto the memory.