How does a linker work? (II) – The symbol table

In previous posts we talked about that the linkers are the ones in charge of combining different files of translatable object code in an executable. For this they had two fundamental tasks, the resolution of symbols and the transfer; in

How does a linker work? (I)

In the process of converting the code from a high level language to an executable that understands our system, the linkers have a role that often goes unnoticed, but that is important to know. When we want to convert a

How does a compiler work?

In the series Hardening  binaries posts you have seen that many defenses are implanted in the compilers themselves, but how are they implemented? Taking the case of GCC, the GNU compiler collection, let’s explain the general GCC infrastructure and roughly how


Our sandbox for packers