In this post we are going to talk about two options that can happen to the linker to make certain sections of our executable more secure: -Wl, -z, relro, -z, now. When a program calls a function not defined in the program, which is in a shared library, the GOT (Global Shift Table) and PLT (Procedure Linking Table) sections come into play, which are responsible for specifying where that Function we need (see this link for a more detailed explanation). For example, if we use printing in a program and look at what is happening in assembly:
The post Hardening binaries (VI) – RELRO appeared first on S3lab.
]]>