Irene Díez – S3lab http://s3lab.deusto.es S3lab Security Blog Wed, 06 May 2020 12:51:35 +0000 en-US hourly 1 https://wordpress.org/?v=5.1.5 Fatal optimizations http://s3lab.deusto.es/fatal-optimizations/ Tue, 21 Nov 2017 10:57:14 +0000 http://s3lab.deusto.es/?p=9571 Compilers transform the code we write to make it more efficient, however, there are times when these optimizations made by the compiler can cause security problems. A clear example of this is the dead code elimination, an optimization that aims

The post Fatal optimizations appeared first on S3lab.

]]>
Compilers transform the code we write to make it more efficient, however, there are times when these optimizations made by the compiler can cause security problems. A clear example of this is the dead code elimination, an optimization that aims to eliminate pieces of code that do not affect the results of the program, and therefore are considered irrelevant.

The post Fatal optimizations appeared first on S3lab.

]]>
How does a linker work? (III) – Types of symbols http://s3lab.deusto.es/how-linker-work-3/ Sat, 14 Oct 2017 10:00:40 +0000 http://s3lab.deusto.es/?p=9515 After learning what information contains the symbol table in the previous post, we can now talk more about the attributes that a symbol can have and what role do they have in the resolution of symbols from the linker point

The post How does a linker work? (III) – Types of symbols appeared first on S3lab.

]]>
After learning what information contains the symbol table in the previous post, we can now talk more about the attributes that a symbol can have and what role do they have in the resolution of symbols from the linker point of view.. Remember that the symbols can be global (global), local (local) or weak. Globals are non-static defined functions in addition to the initialized variables defined without static. A local symbol is one defined with a static, and finally the weak symbols are the uninitialized global variables.

The post How does a linker work? (III) – Types of symbols appeared first on S3lab.

]]>
How does a linker work? (II) – The symbol table http://s3lab.deusto.es/how-linker-work-2/ Fri, 15 Sep 2017 16:00:08 +0000 http://s3lab.deusto.es/?p=9349 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

The post How does a linker work? (II) – The symbol table appeared first on S3lab.

]]>
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 this installment we are going to start talking about the resolution of symbols, that remember is the act of associating each reference of a symbol with its definition.

The post How does a linker work? (II) – The symbol table appeared first on S3lab.

]]>
How does a linker work? (I) http://s3lab.deusto.es/how-linker-work-1/ Tue, 11 Jul 2017 19:36:41 +0000 http://s3lab.deusto.es/?p=9265 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

The post How does a linker work? (I) appeared first on S3lab.

]]>
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 .c file into an executable several tools come into play: first the C preprocessor (called cpp) generates an intermediate file, where, among other things, the #define directives are expanded and the comments are deleted.

The post How does a linker work? (I) appeared first on S3lab.

]]>
Create an unreadable binary with these techniques http://s3lab.deusto.es/unreadable-binary-techniques/ Fri, 23 Jun 2017 09:57:36 +0000 http://s3lab.deusto.es/?p=9200 Whether for malicious purposes, such as the case of malware authors, for corporate purposes, or for other reasons, obfuscation techniques are used to protect a program by making compiled binary static analysis more costly. Obfuscation therefore consists of transforming a

The post Create an unreadable binary with these techniques appeared first on S3lab.

]]>
Whether for malicious purposes, such as the case of malware authors, for corporate purposes, or for other reasons, obfuscation techniques are used to protect a program by making compiled binary static analysis more costly. Obfuscation therefore consists of transforming a program in a way that is more difficult to understand, but at the same time maintains the original semantics.

The post Create an unreadable binary with these techniques appeared first on S3lab.

]]>
How does a compiler work? http://s3lab.deusto.es/how-compiler-work/ Sat, 13 May 2017 18:28:39 +0000 http://s3lab.deusto.es/?p=9078 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

The post How does a compiler work? appeared first on S3lab.

]]>
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 a compiler works.

The post How does a compiler work? appeared first on S3lab.

]]>