---
# System prepended metadata

title: Cours de systèmes - ASSE
tags: [' asse', ' S5', cours, ' Ing1', ' ASSE']

---

---
tags: cours, asse, ASSE, S5, Ing1
author: Robin 'Pachichi' Boucher
date: 13/12/18
---
###### Jeudi 13 décembre
# Cours de systèmes - ASSE

`readelf -s file.o`
`objdump -d file.so`

Section **SYMTAB** associée à la section **STRTAB**

#### Révision attributs
```c
hidden
default
global
```

```c
#define __hidden __attribute(visibility("hidden"))

__typeof(12)__ a;

#define Pouet(VAR, VALUE) \
    __typeof(VALUE)__ VAR = VALUE;
    
template <typename T>
int f(T n) { ... }
f<int>(...)
f<char *>(...)
```

#### Segment solution
* as $\rightarrow$ Code
* ss $\rightarrow$ Stack
* ds $\rightarrow$ Data
* es $\rightarrow$ Data
* fs && gs $\rightarrow$ User defined

> Mettre un canari sur la pile
Poser un entier sur la pile. Si avant la fin de la function, l'entier a été réécrit, la stack/pile a été corrompue.