---
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.