• Aucun résultat trouvé

Formation Sécurité Applicative

N/A
N/A
Protected

Academic year: 2022

Partager "Formation Sécurité Applicative"

Copied!
49
0
0

Texte intégral

(1)

Formation S´ ecurit´ e Applicative

1 - Introduction

Romain Malmain

net7 & Pony7

Octobre 2020

(2)

Plan de la pr´ esentation

1 Plan du cours

2 Fonctionnement des s´eances

3 Br`eve explication de ce qu’est un Buffer Overflow avec quelques exemples

4 Quelques questions sur les effets d’un BOF

5 Fin de l’introduction

(3)

Plan de la pr´ esentation

1 Plan du cours

2 Fonctionnement des s´eances

3 Br`eve explication de ce qu’est un Buffer Overflow avec quelques exemples

4 Quelques questions sur les effets d’un BOF

5 Fin de l’introduction

(4)

Plan du cours

Introduction et pr´esentation (maintenant)

Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(5)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail

Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(6)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(7)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86

Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(8)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow

Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(9)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(10)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(11)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z

Buffer Overflow avanc´e

(12)

Plan du cours

Introduction et pr´esentation (maintenant) Installation de l’environnement de travail Langage C / Langage assembleur

Structure interne d’un programme en x86 Construction d’un premier Buffer Overflow Utilisation de GDB

D´etournement d’ex´ecution avec un BOF

Ex´ecution dans la pile / dans le tas : cr´eation d’un exploit de A `a Z Buffer Overflow avanc´e

(13)

Plan de la pr´ esentation

1 Plan du cours

2 Fonctionnement des s´eances

3 Br`eve explication de ce qu’est un Buffer Overflow avec quelques exemples

4 Quelques questions sur les effets d’un BOF

5 Fin de l’introduction

(14)

S´ eance type

Chaque s´eance travaillera sur un (ou plusieurs) des points pr´esent´es pr´ec´edemment

Les formations seront parsem´ees d’exemples et de TP courts pour rendre les s´eances plus interactives.

TP 1.1

Consigne : Il faut faire...

Les num´eros des TPs correspondront `a l’arborescence dans la VM. Par exemple le TP 1.1 se trouvera dans

∼/Formations/securite applicative/1-introduction/

L’encadr´e contiendra la consigne `a suivre. Habituellement les TP sont simples et rapides `a faire, ils servent juste `a clarifier le propos. Des TPs plus cons´equents seront signal´es par une couleur rouge

TP 1.1

Consigne : Il faut faire...

(15)

S´ eance type

Chaque s´eance travaillera sur un (ou plusieurs) des points pr´esent´es pr´ec´edemment

Les formations seront parsem´ees d’exemples et de TP courts pour rendre les s´eances plus interactives.

TP 1.1

Consigne : Il faut faire...

Les num´eros des TPs correspondront `a l’arborescence dans la VM. Par exemple le TP 1.1 se trouvera dans

∼/Formations/securite applicative/1-introduction/

L’encadr´e contiendra la consigne `a suivre. Habituellement les TP sont simples et rapides `a faire, ils servent juste `a clarifier le propos. Des TPs plus cons´equents seront signal´es par une couleur rouge

TP 1.1

Consigne : Il faut faire...

(16)

S´ eance type

Chaque s´eance travaillera sur un (ou plusieurs) des points pr´esent´es pr´ec´edemment

Les formations seront parsem´ees d’exemples et de TP courts pour rendre les s´eances plus interactives.

TP 1.1

Consigne : Il faut faire...

Les num´eros des TPs correspondront `a l’arborescence dans la VM.

Par exemple le TP 1.1 se trouvera dans

∼/Formations/securite applicative/1-introduction/

L’encadr´e contiendra la consigne `a suivre. Habituellement les TP sont simples et rapides `a faire, ils servent juste `a clarifier le propos. Des TPs plus cons´equents seront signal´es par une couleur rouge

TP 1.1

Consigne : Il faut faire...

(17)

S´ eance type

Chaque s´eance travaillera sur un (ou plusieurs) des points pr´esent´es pr´ec´edemment

Les formations seront parsem´ees d’exemples et de TP courts pour rendre les s´eances plus interactives.

TP 1.1

Consigne : Il faut faire...

Les num´eros des TPs correspondront `a l’arborescence dans la VM.

Par exemple le TP 1.1 se trouvera dans

∼/Formations/securite applicative/1-introduction/

L’encadr´e contiendra la consigne `a suivre. Habituellement les TP sont simples et rapides `a faire, ils servent juste `a clarifier le propos. Des TPs plus cons´equents seront signal´es par une couleur rouge

TP 1.1

Consigne : Il faut faire...

(18)

Plan de la pr´ esentation

1 Plan du cours

2 Fonctionnement des s´eances

3 Br`eve explication de ce qu’est un Buffer Overflow avec quelques exemples

4 Quelques questions sur les effets d’un BOF

5 Fin de l’introduction

(19)

Explication br` eve

D´efinition

Un buffer Overflow (BOF), c’est avant tout profiter d’une erreur de programmation qui nous permet de lire ou d’´ecrire dans des zones auxquelles ont est pas cens´e acc´eder.

Exemple illustr´e

Ecrire plus de caract`´ eres dans un tableau que la taille qui lui a ´et´e allou´e.

(20)

Explication br` eve

D´efinition

Un buffer Overflow (BOF), c’est avant tout profiter d’une erreur de programmation qui nous permet de lire ou d’´ecrire dans des zones auxquelles ont est pas cens´e acc´eder.

Exemple illustr´e

Ecrire plus de caract`´ eres dans un tableau que la taille qui lui a ´et´e allou´e.

(21)

Exemple

Cas typique (langage algorithmique)

**code**

Allouer n blocs pour le tableau T

Demander `a l’utilisateur d’entrer une valeur et la stocker dans T (typiquement une chaˆıne de caract`ere)

**code**

TP 0.1 : Effet concret d’un Buffer Overflow

#include <stdio.h>

int main() {

char prenom[16];

printf("Entrez votre pr´enom : "); scanf("%s", &prenom);

printf("Votre pr´enom est %s\n", prenom); return 0;

}

(22)

Exemple

Cas typique (langage algorithmique)

**code**

Allouer n blocs pour le tableau T

Demander `a l’utilisateur d’entrer une valeur et la stocker dans T (typiquement une chaˆıne de caract`ere)

**code**

TP 0.1 : Effet concret d’un Buffer Overflow

#include <stdio.h>

int main() {

char prenom[16];

printf("Entrez votre pr´enom : ");

scanf("%s", &prenom);

printf("Votre pr´enom est %s\n", prenom);

(23)

Deuxi` eme exemple (plus avanc´ e)

TP 0.2 : Ce qu’on peut arriver `a faire avec un Buffer Overflow bien exploit´e

#include "stdio.h"

#include "string.h"

void get_name(char* name) { char buf[512];

strcpy(buf, name);

printf("Hello, %s !\n", buf);

}

int main(int argc, char* argv[]) { if (argc != 2) {

printf("usage: %s [name]\n", argv[0]);

return 1;

}

get_name(argv[1]);

return 0;

}

(24)

Solution que vous serez capable d’appliquer `a la fin du cours Analyse du code / d´etection de la faille

Phase de r´eflexion pour d´eterminer un bon angle d’attaque Ecriture d’un premier brouillon pour tenter d’appliquer notre id´ee Raffinage de la solution avec un debugger `a cˆot´e pour arriver `a quelque chose de fonctionnel

exploiter le programme

TP 0.2 : D´emonstration

Application d’un exploit en python ´ecrit `a la main avec le programme pr´ec´edent (disponible sur le git de la formation).

(25)

Solution que vous serez capable d’appliquer `a la fin du cours Analyse du code / d´etection de la faille

Phase de r´eflexion pour d´eterminer un bon angle d’attaque

Ecriture d’un premier brouillon pour tenter d’appliquer notre id´ee Raffinage de la solution avec un debugger `a cˆot´e pour arriver `a quelque chose de fonctionnel

exploiter le programme

TP 0.2 : D´emonstration

Application d’un exploit en python ´ecrit `a la main avec le programme pr´ec´edent (disponible sur le git de la formation).

(26)

Solution que vous serez capable d’appliquer `a la fin du cours Analyse du code / d´etection de la faille

Phase de r´eflexion pour d´eterminer un bon angle d’attaque Ecriture d’un premier brouillon pour tenter d’appliquer notre id´ee

Raffinage de la solution avec un debugger `a cˆot´e pour arriver `a quelque chose de fonctionnel

exploiter le programme

TP 0.2 : D´emonstration

Application d’un exploit en python ´ecrit `a la main avec le programme pr´ec´edent (disponible sur le git de la formation).

(27)

Solution que vous serez capable d’appliquer `a la fin du cours Analyse du code / d´etection de la faille

Phase de r´eflexion pour d´eterminer un bon angle d’attaque Ecriture d’un premier brouillon pour tenter d’appliquer notre id´ee Raffinage de la solution avec un debugger `a cˆot´e pour arriver `a quelque chose de fonctionnel

exploiter le programme

TP 0.2 : D´emonstration

Application d’un exploit en python ´ecrit `a la main avec le programme pr´ec´edent (disponible sur le git de la formation).

(28)

Solution que vous serez capable d’appliquer `a la fin du cours Analyse du code / d´etection de la faille

Phase de r´eflexion pour d´eterminer un bon angle d’attaque Ecriture d’un premier brouillon pour tenter d’appliquer notre id´ee Raffinage de la solution avec un debugger `a cˆot´e pour arriver `a quelque chose de fonctionnel

exploiter le programme

TP 0.2 : D´emonstration

Application d’un exploit en python ´ecrit `a la main avec le programme pr´ec´edent (disponible sur le git de la formation).

(29)

Solution que vous serez capable d’appliquer `a la fin du cours Analyse du code / d´etection de la faille

Phase de r´eflexion pour d´eterminer un bon angle d’attaque Ecriture d’un premier brouillon pour tenter d’appliquer notre id´ee Raffinage de la solution avec un debugger `a cˆot´e pour arriver `a quelque chose de fonctionnel

exploiter le programme

TP 0.2 : D´emonstration

Application d’un exploit en python ´ecrit `a la main avec le programme pr´ec´edent (disponible sur le git de la formation).

(30)

Plan de la pr´ esentation

1 Plan du cours

2 Fonctionnement des s´eances

3 Br`eve explication de ce qu’est un Buffer Overflow avec quelques exemples

4 Quelques questions sur les effets d’un BOF

5 Fin de l’introduction

(31)

Exemple

Quelles questions peut-on se poser ? Une id´ee de ce qu’il s’est pass´e ?

Est-il possible de voir pr´ecis´ement ce qu’il s’est pass´e ?

Si oui, quels outils peuvent nous permettre de comprendre cet effet ? Comment bien s’est servir ?

Peut-on se servir de ¸ca pour faire un peu mieux qu’un crash ? Si oui, comment s’y prendre ?

(32)

Exemple

Quelles questions peut-on se poser ? Une id´ee de ce qu’il s’est pass´e ?

Est-il possible de voir pr´ecis´ement ce qu’il s’est pass´e ?

Si oui, quels outils peuvent nous permettre de comprendre cet effet ? Comment bien s’est servir ?

Peut-on se servir de ¸ca pour faire un peu mieux qu’un crash ? Si oui, comment s’y prendre ?

(33)

Exemple

Quelles questions peut-on se poser ? Une id´ee de ce qu’il s’est pass´e ?

Est-il possible de voir pr´ecis´ement ce qu’il s’est pass´e ?

Si oui, quels outils peuvent nous permettre de comprendre cet effet ? Comment bien s’est servir ?

Peut-on se servir de ¸ca pour faire un peu mieux qu’un crash ? Si oui, comment s’y prendre ?

(34)

Exemple

Quelles questions peut-on se poser ? Une id´ee de ce qu’il s’est pass´e ?

Est-il possible de voir pr´ecis´ement ce qu’il s’est pass´e ?

Si oui, quels outils peuvent nous permettre de comprendre cet effet ? Comment bien s’est servir ?

Peut-on se servir de ¸ca pour faire un peu mieux qu’un crash ?

Si oui, comment s’y prendre ?

(35)

Exemple

Quelles questions peut-on se poser ? Une id´ee de ce qu’il s’est pass´e ?

Est-il possible de voir pr´ecis´ement ce qu’il s’est pass´e ?

Si oui, quels outils peuvent nous permettre de comprendre cet effet ? Comment bien s’est servir ?

Peut-on se servir de ¸ca pour faire un peu mieux qu’un crash ? Si oui, comment s’y prendre ?

(36)

Quelques r´ eponses...

Beaucoup d’outils tr`es complets pour vous aider `a comprendre l’ex´ecution d’un programme : GDB (Gnu DeBugger), radare2, ghidra, etc... Peuvent ˆetre d´elicat `a prendre en main, mais ¸ca vaut

d´efinitivement le coup de s’y pencher !

Pour l’exploitation : Python poss`ede beaucoup de librairies (surtout PwnTools en fait), ce qui en fait un tr`es bon choix pour exploiter un binaire !

Il existe une tr`es grande diversit´e d’attaques possibles que l’on choisit en fonction de la situation (architecture processeur, s´ecurit´es actives, input possible, etc...)

Dans le cadre des formations, nous allons nous concentrer sur l’architecture x86 avec le minimum de s´ecurit´es activ´ees. Bien que cela ne soit pas suffisant pour compromettre des logiciels r´ecents, cela reste un passage indispensable pour appr´ehender les

probl´ematiques de base li´ees `a la s´ecurit´e applicative sans trop se prendre la tˆete.

(37)

Quelques r´ eponses...

Beaucoup d’outils tr`es complets pour vous aider `a comprendre l’ex´ecution d’un programme : GDB (Gnu DeBugger), radare2, ghidra, etc... Peuvent ˆetre d´elicat `a prendre en main, mais ¸ca vaut

d´efinitivement le coup de s’y pencher !

Pour l’exploitation : Python poss`ede beaucoup de librairies (surtout PwnTools en fait), ce qui en fait un tr`es bon choix pour exploiter un binaire !

Il existe une tr`es grande diversit´e d’attaques possibles que l’on choisit en fonction de la situation (architecture processeur, s´ecurit´es actives, input possible, etc...)

Dans le cadre des formations, nous allons nous concentrer sur l’architecture x86 avec le minimum de s´ecurit´es activ´ees. Bien que cela ne soit pas suffisant pour compromettre des logiciels r´ecents, cela reste un passage indispensable pour appr´ehender les

probl´ematiques de base li´ees `a la s´ecurit´e applicative sans trop se prendre la tˆete.

(38)

Quelques r´ eponses...

Beaucoup d’outils tr`es complets pour vous aider `a comprendre l’ex´ecution d’un programme : GDB (Gnu DeBugger), radare2, ghidra, etc... Peuvent ˆetre d´elicat `a prendre en main, mais ¸ca vaut

d´efinitivement le coup de s’y pencher !

Pour l’exploitation : Python poss`ede beaucoup de librairies (surtout PwnTools en fait), ce qui en fait un tr`es bon choix pour exploiter un binaire !

Il existe une tr`es grande diversit´e d’attaques possibles que l’on choisit en fonction de la situation (architecture processeur, s´ecurit´es actives, input possible, etc...)

Dans le cadre des formations, nous allons nous concentrer sur l’architecture x86 avec le minimum de s´ecurit´es activ´ees. Bien que cela ne soit pas suffisant pour compromettre des logiciels r´ecents, cela reste un passage indispensable pour appr´ehender les

probl´ematiques de base li´ees `a la s´ecurit´e applicative sans trop se prendre la tˆete.

(39)

Quelques r´ eponses...

Beaucoup d’outils tr`es complets pour vous aider `a comprendre l’ex´ecution d’un programme : GDB (Gnu DeBugger), radare2, ghidra, etc... Peuvent ˆetre d´elicat `a prendre en main, mais ¸ca vaut

d´efinitivement le coup de s’y pencher !

Pour l’exploitation : Python poss`ede beaucoup de librairies (surtout PwnTools en fait), ce qui en fait un tr`es bon choix pour exploiter un binaire !

Il existe une tr`es grande diversit´e d’attaques possibles que l’on choisit en fonction de la situation (architecture processeur, s´ecurit´es actives, input possible, etc...)

Dans le cadre des formations, nous allons nous concentrer sur l’architecture x86 avec le minimum de s´ecurit´es activ´ees. Bien que cela ne soit pas suffisant pour compromettre des logiciels r´ecents, cela reste un passage indispensable pour appr´ehender les

probl´ematiques de base li´ees `a la s´ecurit´e applicative sans trop se prendre la tˆete.

(40)

Plan de la pr´ esentation

1 Plan du cours

2 Fonctionnement des s´eances

3 Br`eve explication de ce qu’est un Buffer Overflow avec quelques exemples

4 Quelques questions sur les effets d’un BOF

5 Fin de l’introduction

(41)

Pourquoi assister ` a cette formation ?

Le but principal est de vous permettre de comprendre les bases de la s´ecurit´e applicative pour que vous puissiez aller vers des sujets plus compliqu´es et ´eviter les erreurs pouvant compromettre vos propres programmes.

Vous devriez ˆetre capable d’ici la fin de ce cours de faire la plupart des challenges simples de s´ecurit´e applicative trouvables sur internet. Comprendre le fonctionnement des buffer Overflow vous fera tr`es certainement changer la fa¸con dont vous voyez un programme. Le point de vue adopt´e est beaucoup plus ”bas niveau” et permet de d´ebugger des situations assez d´elicates en C par exemple, mˆeme avec une compr´ehension sommaire.

Enfin, c’est un exercice int´eressant qui donne vraiment l’impression de comprendre ce qu’il se passe une fois que ¸ca fonctionne (assez proche d’un puzzle). Il faut souvent ˆetre pers´ev´erant et patient pour arriver au r´esultat final. L’exercice est assez exigeant mais satisfaisant en somme.

(42)

Pourquoi assister ` a cette formation ?

Le but principal est de vous permettre de comprendre les bases de la s´ecurit´e applicative pour que vous puissiez aller vers des sujets plus compliqu´es et ´eviter les erreurs pouvant compromettre vos propres programmes.

Vous devriez ˆetre capable d’ici la fin de ce cours de faire la plupart des challenges simples de s´ecurit´e applicative trouvables sur internet.

Comprendre le fonctionnement des buffer Overflow vous fera tr`es certainement changer la fa¸con dont vous voyez un programme. Le point de vue adopt´e est beaucoup plus ”bas niveau” et permet de d´ebugger des situations assez d´elicates en C par exemple, mˆeme avec une compr´ehension sommaire.

Enfin, c’est un exercice int´eressant qui donne vraiment l’impression de comprendre ce qu’il se passe une fois que ¸ca fonctionne (assez proche d’un puzzle). Il faut souvent ˆetre pers´ev´erant et patient pour arriver au r´esultat final. L’exercice est assez exigeant mais satisfaisant en somme.

(43)

Pourquoi assister ` a cette formation ?

Le but principal est de vous permettre de comprendre les bases de la s´ecurit´e applicative pour que vous puissiez aller vers des sujets plus compliqu´es et ´eviter les erreurs pouvant compromettre vos propres programmes.

Vous devriez ˆetre capable d’ici la fin de ce cours de faire la plupart des challenges simples de s´ecurit´e applicative trouvables sur internet.

Comprendre le fonctionnement des buffer Overflow vous fera tr`es certainement changer la fa¸con dont vous voyez un programme. Le point de vue adopt´e est beaucoup plus ”bas niveau” et permet de d´ebugger des situations assez d´elicates en C par exemple, mˆeme avec une compr´ehension sommaire.

Enfin, c’est un exercice int´eressant qui donne vraiment l’impression de comprendre ce qu’il se passe une fois que ¸ca fonctionne (assez proche d’un puzzle). Il faut souvent ˆetre pers´ev´erant et patient pour arriver au r´esultat final. L’exercice est assez exigeant mais satisfaisant en somme.

(44)

Pourquoi assister ` a cette formation ?

Le but principal est de vous permettre de comprendre les bases de la s´ecurit´e applicative pour que vous puissiez aller vers des sujets plus compliqu´es et ´eviter les erreurs pouvant compromettre vos propres programmes.

Vous devriez ˆetre capable d’ici la fin de ce cours de faire la plupart des challenges simples de s´ecurit´e applicative trouvables sur internet.

Comprendre le fonctionnement des buffer Overflow vous fera tr`es certainement changer la fa¸con dont vous voyez un programme. Le point de vue adopt´e est beaucoup plus ”bas niveau” et permet de d´ebugger des situations assez d´elicates en C par exemple, mˆeme avec une compr´ehension sommaire.

Enfin, c’est un exercice int´eressant qui donne vraiment l’impression de comprendre ce qu’il se passe une fois que ¸ca fonctionne (assez proche d’un puzzle). Il faut souvent ˆetre pers´ev´erant et patient pour arriver

(45)

Fin de la s´ eance / Questions

Bibliographie : The art of exploitation (Jon Ericsson), root-me (https://www.root-me.org/)

La prochaine fois : Installation de la VM de travail, explication de son fonctionnement, et introduction au langage C si on a assez de temps. Retrouver tous les documents li´es `a la formation sur ma homepage du bde : https://www.bde.enseeiht.fr/~malmair/

Des questions ?

(46)

Fin de la s´ eance / Questions

Bibliographie : The art of exploitation (Jon Ericsson), root-me (https://www.root-me.org/)

La prochaine fois : Installation de la VM de travail, explication de son fonctionnement, et introduction au langage C si on a assez de temps.

Retrouver tous les documents li´es `a la formation sur ma homepage du bde : https://www.bde.enseeiht.fr/~malmair/

Des questions ?

(47)

Fin de la s´ eance / Questions

Bibliographie : The art of exploitation (Jon Ericsson), root-me (https://www.root-me.org/)

La prochaine fois : Installation de la VM de travail, explication de son fonctionnement, et introduction au langage C si on a assez de temps.

Retrouver tous les documents li´es `a la formation sur ma homepage du bde : https://www.bde.enseeiht.fr/~malmair/

Des questions ?

(48)

Fin de la s´ eance / Questions

Bibliographie : The art of exploitation (Jon Ericsson), root-me (https://www.root-me.org/)

La prochaine fois : Installation de la VM de travail, explication de son fonctionnement, et introduction au langage C si on a assez de temps.

Retrouver tous les documents li´es `a la formation sur ma homepage du bde : https://www.bde.enseeiht.fr/~malmair/

Des questions ?

(49)

Un petit extra ?

Un aper¸cu du C : https://learnxinyminutes.com/docs/c/

Références

Documents relatifs

Les élèves ne disposant pour l’instant que d’informations qualitatives sur l’énergie potentielle et l’énergie cinétique d’un système, le but de

marge brute – remise – prix d’achat net – prix de vente hors taxe – coût d’achat prix de vente toute taxe comprise – prix d’achat net – frais d’achat – prix

Pour cela (figure 1), on émet dans le local I avec une source de bruit normalisée, et on mesure dans le local II, séparé de I par la paroi étudiée, le niveau acoustique par

Réaliser une analyse de l’arbre généalogique suivant pour déterminer quel risque pour III4 d’avoir un enfant malade. Les femmes sont symbolisées par des ronds, et les hommes par

L'objet posé sur le sol ne pourra en aucun cas libérer de l'énergie par le travail de son poids. Son énergie potentielle de pesanteur est nulle. Pour définir une énergie potentielle

Mise en valeur du travail de création : Ronsard au gré des poèmes associe le mythe de Méduse à un autre mythe, complète et dépasse le mythe en attribuant à

L'induit d’un moteur est alimenté par une tension continue V = 275V, par l'intermédiaire d'un hacheur série, selon le schéma de principe connu. A l'aide d'un oscilloscope bi-courbe,

Capacité : vérifier expérimentalement les conditions d'équilibre d'un solide soumis à deux ou trois forces de droites d'action non parallèles.. Dans la suite du document, ce