Déprotection semi-automatique de binaire

Dimension: px
Commencer à balayer dès la page:

Download "Déprotection semi-automatique de binaire"

Transcription

1 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 1/49 Déprotection semi-automatique de binaire avec : celui qui fond dans la bouche et pas dans la main. Alexandre Gazet Yoann Guillot

2 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 2/49 Plan

3 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 3/49 Plan Les désassembleurs classiques Binding Backtracing 1 Les désassembleurs classiques Binding Backtracing 2 3 4

4 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 4/49 Les désassembleurs classiques Binding Backtracing

5 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 5/49 Les désassembleurs classiques Binding Backtracing

6 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 6/49 Désassemblage Les désassembleurs classiques Binding Backtracing La référence : IDA Pro Excellent sur du code clair : binaire MS Inadapté sur un binaire protégé Pas d interprétation du code Des hypothèses trop contraignantes Des hypothèses Les deux branches d un saut conditionnel sont exécutées Deux instructions ne se superposent pas Un appel retourne

7 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 6/49 Désassemblage Les désassembleurs classiques Binding Backtracing La référence : IDA Pro Excellent sur du code clair : binaire MS Inadapté sur un binaire protégé Pas d interprétation du code Des hypothèses trop contraignantes Des hypothèses Les deux branches d un saut conditionnel sont exécutées Deux instructions ne se superposent pas Un appel retourne

8 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 7/49 Hypothèse : un appel retourne Les désassembleurs classiques Binding Backtracing. text :00403 E9F loc 403E9F : ; CODE XREF:.text:loc_40CDEF.text :00403 E9F push ebp.text :00403EA0 push ecx.text :00403EA1 push ebp.text :00403EA2 c a l l sub 40BECD.text :00403EA7 outsb.text :00403EA8 cmp edx, esp.text :00403EAA push esp.text :00403EAB inc esi

9 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 8/49 Mise en échec Les désassembleurs classiques Binding Backtracing. text :0040BECD sub 40BECD proc near ; CODE XREF:.text:00403EA2.text :0040BECD cmp eax, ebp.text :0040BECF add dword ptr [ esp +0], 1.text :0040BED4 test ebx, 1E2h.text :0040BEDA retn 0Ch.text :0040BEDA sub 40BECD endp

10 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 9/49 Binding Les désassembleurs classiques Binding Backtracing Définition Expression symbolique des effets d une instruction; à chaque instruction est associée sa sémantique. Instruction ADD : a = di. i nstruction. args.map res = Expression [ [ a [ 0], :&, mask ], :+, [ a [ 1], :&, mask ] ] binding [ : eflag z ] = Expression [ [ res, :&, mask ], :==, 0] binding [ : e fla g s ] = sign [ res ] binding [ : eflag c ] = Expression [ res, :>, mask ] binding [ : eflag o ] = Expression [ [ sign [ a [ 0 ] ], :==, sign [ a [ 1 ] ] ], : &&, [ sign [ a [ 0 ] ], :!=, sign [ res ] ] ] binding [ i n s t r ] ={ a [ 0 ] => res }

11 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 10/49 Binding Les désassembleurs classiques Binding Backtracing Instruction CALL : addrreturn = Expression [ Expression [ di. address, :+, di. bin length ]. reduce ] } binding = { : esp => Expression [ : esp, :, opsz ], I ndirection [ : esp, opsz, di. address ] => addrreturn } En pratique : dword ptr [ esp ] = 0x4010CE esp = esp 4 Instruction RDTSC : binding = { : eax => Expression : : Unknown, : edx => Expression : : Unknown }

12 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 10/49 Binding Les désassembleurs classiques Binding Backtracing Instruction CALL : addrreturn = Expression [ Expression [ di. address, :+, di. bin length ]. reduce ] } binding = { : esp => Expression [ : esp, :, opsz ], I ndirection [ : esp, opsz, di. address ] => addrreturn } En pratique : dword ptr [ esp ] = 0x4010CE esp = esp 4 Instruction RDTSC : binding = { : eax => Expression : : Unknown, : edx => Expression : : Unknown }

13 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 10/49 Binding Les désassembleurs classiques Binding Backtracing Instruction CALL : addrreturn = Expression [ Expression [ di. address, :+, di. bin length ]. reduce ] } binding = { : esp => Expression [ : esp, :, opsz ], I ndirection [ : esp, opsz, di. address ] => addrreturn } En pratique : dword ptr [ esp ] = 0x4010CE esp = esp 4 Instruction RDTSC : binding = { : eax => Expression : : Unknown, : edx => Expression : : Unknown }

14 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 11/49 Backtracing, la théorie Les désassembleurs classiques Binding Backtracing Définition Émulation symbolique par remontée du flot d instructions.

15 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 12/49 Backtracing, la pratique Les désassembleurs classiques Binding Backtracing Flot d exécution : c a l l loc 40becdh e cmp eax, ebp 39 e8 add dword p tr [ esp +0], t e s t ebx, 1e2h f7c3e r e t 0ch c20c00 Backtracing x dword ptr [esp] for 40bedah ret 0ch 1 backtrace 40becfh add dword ptr [esp+0], 1 dword ptr [esp] => dword ptr [esp]+1 2 backtrace up 40becdh->403ea2h dword ptr [esp]+1 3 backtrace 403ea2h call loc 40becdh dword ptr [esp]+1 403ea8h 4 backtrace result : 403ea8h

16 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 13/49 Les désassembleurs classiques Binding Backtracing Listing produit : loc 403e9fh : push ebp 55 push ecx 51 push ebp 55 c a l l loc 40becdh e noreturn db 6eh // Xrefs : 40bedah loc 403ea8h : cmp edx, esp 39 e2 push esp 54 [... ] // Xrefs : 403ea2h loc 40becdh : cmp eax, ebp 39 e8 add dword p tr [ esp +0], t e s t ebx, 1e2h f7c3e r e t 0ch c20c00 x: loc_403ea8h

17 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 14/49 Plan Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection 1 2 Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection 3 4

18 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 15/49 Securitech Challenge 10 Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Poeut.exe Binaire massivement obfusqué IDA dépassé désassemble parfaitement mais : Reordonnancement des blocs d instructions nécessité de développer un front-end graphique yed - Graph Editor Visualisation de graphes Utilise un fichier graphml Objets internes de les InstructionBlock

19 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 16/49 Graphe sauvage Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection

20 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 17/49 Prédicats biaisés Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Prédicats obscurs La fonction prédicat renvoie toujours vrai ou toujours faux Prédicats résistants à une analyse manuelle/statique Une des deux branches n est jamais exécutée i f ( xˆ4 (x 5)ˆ2 >= 0){ goto real code ; } else{ goto no where ; } fstp qword ptr [ esp +8] fstp qword ptr [ esp ] c a l l thunk pow fstp qword ptr [ ebp 0x20 ] mov eax, dword ptr [ ebp 0ch ] sub eax, 5 push eax f i l d dword ptr [ esp ] lea esp, dword ptr [ esp+4] fld qword ptr [ xref h ] fstp qword ptr [ esp +8] fstp qword ptr [ esp ] c a l l thunk pow fld qword ptr [ ebp 20h ] fmulp ST(1)

21 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 18/49 Prédicats biaisés Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Aléa total La fonction prédicat renvoie indifféremment vrai ou toujours faux Les sémantiques des deux branches sont équivalentes i f ( rand () %2 ) { real code A ; } else { real code B ; }

22 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 19/49 Duplication de flot Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Insertion massive d aléa total : Constructions en diamant.

23 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 20/49 Éléments neutres Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Définition Instruction ou groupe d instructions ayant une sémantique nulle : aucun impact réel sur le contexte d exécution.

24 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 21/49 Éléments neutres : aléa apparent Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Implémentation : test esp, ebx 85e3 cmp ebx, edx 39 d3 mov byte p tr [ edx ], a l 8802 add dword p tr [ esp +0], inc edx 42 jmp loc 40b25dh e Réponse au problème Utilisation du binding des instructions Incohérences du data flow au niveau des flags : Deux écritures successives Écriture mais pas de lecture

25 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 22/49 Éléments neutres : faux appels Implémentation : Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection push eax 50 push ecx 51 push ebp 55 [... ] c a l l loc 4037f2h [... ] push esp 54 push ecx 51 [... ] add dword p tr [ esp +8], add esp, 8 83 c408 [... ] r e t 0ch c20c00 x: loc_40933dh Réponse au problème Création du flot d exécution Simulation d une pile Pattern particulier : modifie l adresse de retour

26 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 23/49 Épilogue brut Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection

27 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 24/49 Analyse des flots d exécution Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Réponse au problème 1 Parcours de l arbre d objets internes InstructionBlock 2 Inline de fonction si nécessaire 3 Recherche de constructions en diamant 4 Création, nettoyage puis comparaison des flots 5 Factorisation si nécessaire

28 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 25/49 Épilogue avec flots factorisés Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection

29 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 26/49 Épilogue réordonné Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection

30 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 27/49 Vue finale Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection

31 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 28/49 Touche finale Présentation Complexification du graphe de contrôle Insertion d éléments neutres Déprotection Nettoyage de tout le graphe du binaire Production d un listing assembleur propre Utilisation du compilateur compris dans pour produire un binaire dépourvu de la protection

32 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 29/49 Plan Introduction Obfuscation Machine virtuelle Résolution Introduction Obfuscation Machine virtuelle Résolution 4

33 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 30/49 T Introduction Obfuscation Machine virtuelle Résolution t207.exe But : trouver un mot de passe pour deverouiller le programme Binaire très simple [demo/1] Charge un driver obfusqué [demo/2]

34 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 31/49 Désobfuscation Introduction Obfuscation Machine virtuelle Résolution Les types d obfuscation Junk code Opérations obfusquées Anti ring3 Duplication de code

35 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 32/49 Junk code Introduction Obfuscation Machine virtuelle Résolution junk ror edi, 0dh xchg ebx, edi ror ebx, 13h xchg ebx, edi

36 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 33/49 Opérations obfusquées Introduction Obfuscation Machine virtuelle Résolution rotation de bits push eax push ecx r o l dword ptr [ esp +4], c l pop ecx pop eax

37 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 34/49 Anti ring3 Introduction Obfuscation Machine virtuelle Résolution test ring0 pushfd push eax xor eax, eax mov ax, cs cmp eax, 9 j l e loc 131d5h rdtsc imul eax, ecx jmp eax ; x : unknown loc 131d5h : pop eax popfd

38 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 35/49 Duplication de code Introduction Obfuscation Machine virtuelle Résolution duplication push e s i push ebx pushfd rdtsc imul ecx, ebx cmp cl, 7 fh jnb loc 21aba popfd pop ebx pop e s i loc 21abah : popfd pop ebx pop e s i

39 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 36/49 Machine virtuelle Introduction Obfuscation Machine virtuelle Résolution Structure de handler Des opérations simples Des constructions similaires Opérations paramétrées par [ebp] [demo/3]

40 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 37/49 Addition virtuelle Introduction Obfuscation Machine virtuelle Résolution Handler d addition loc : mov ecx, dword p t r [ ebp+0ch ] x o r ecx, 842 b1208h mov ecx, dword ptr [ ebx+ecx ] mov eax, dword p t r [ ebp +8] x o r eax, 842 b1208h add dword ptr [ ebx+eax ], ecx

41 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 38/49 Transition entre handlers Introduction Obfuscation Machine virtuelle Résolution transition au handler suivant mov ecx, dword p t r [ ebp +0] xor ecx, 149 f0c63h mov ebp, dword ptr [ ebp+4] xor ebp, 842b1208h add ebp, dword ptr [ ebx+14h ] add ecx, dword p t r [ ebx+14h ] jmp ecx ; x : unknown

42 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 39/49 Architecture virtuelle Introduction Obfuscation Machine virtuelle Résolution handler mov eax, [ebp+8] xor eax, h1_key_2 mov [ebx+eax], 0 mov eax, [ebp] xor eax, h1_key_1 mov ebp, [ebp+4] xor ebp, h1_key_2 add eax, [ebx+14h] add ebp, [ebx+14h] jmp eax ciphered instruction next_handler next_instr arg0 key_1 key_2 handler mov eax, [ebp+8] xor eax, h2_key_2 mov ecx, [ebp+12] xor ecx, h2_key_2 mov ecx, [ebx+ecx] add [ebx+eax], ecx ciphered instruction next_handler next_instr arg0 key_1 key_2 arg1

43 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 40/49 Énumération des handlers Introduction Obfuscation Machine virtuelle Résolution Énumération directe impossible Nécessite de suivre le flot virtuel pas à pas La taille du binaire indique la présence de nombreux handlers Analyse comportementale de chaque handler par backtrack [demo/4]

44 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 41/49 Résultat de l analyse Introduction Obfuscation Machine virtuelle Résolution Binding du handler handler 13491h : // reg0 < Expression [ reg0, :+, reg1 ] // handler type : add reg, reg mov eax, dword p t r [ ebp+0ch ] xor eax, 8d3f5d8bh mov eax, dword ptr [ ebx+eax ] mov ecx, dword p t r [ ebp +8] xor ecx, 8d3f5d8bh add dword ptr [ ebx+ecx ], eax

45 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 42/49 Code virtuel basique Introduction Obfuscation Machine virtuelle Résolution Les premières instructions virtuelles entrypoint 219feh 21ea6h : nop mov r68, 28h add r68, host esp mov r64, dword ptr [ r68 ] mov dword ptr [ esp ], r64 mov r64, 4 add esp, r64 mov r68, 2ch add r68, host esp mov r64, dword ptr [ r68 ] mov dword ptr [ esp ], r64 mov r64, 4 add esp, r64 trap

46 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 43/49 Macro-instructions virtuelles Introduction Obfuscation Machine virtuelle Résolution Niveau d abstraction supérieur Reconnaissance de patterns caractéristiques Reconstruction d un assembleur plus haut niveau Apparition des fonctions (call, ret)

47 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 44/49 Macro-code virtuel Introduction Obfuscation Machine virtuelle Résolution Les premières instructions virtuelles entrypoint 219feh 21ea6h : mov dword ptr [ esp ], dword ptr [ host esp+28h ] add esp, 4 mov dword ptr [ esp ], dword ptr [ host esp+2ch ] add esp, 4 mov ebp, esp add esp, 234h mov r64, dword ptr [ ebp+200h ] xor r64, 1 j r z loc 2d630h 2d8ffh, r64 s y s c a l l a l l o c p t r r64, 0ch mov dword ptr [ ebp+200h ], r64 loc 2d630h 2d8ffh :

48 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 45/49 Décompilation Introduction Obfuscation Machine virtuelle Résolution La sémantique des instructions est très simple La forme du code fait penser à du C Vérifions

49 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 46/49 Validation Introduction Obfuscation Machine virtuelle Résolution Résolution purement statique

50 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 47/49 Plan

51 s générale A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 48/49 Poeut : application inverses de transformations Suppression d éléments neutres ajoutés. Factorisation de flots dupliqués, Réduction du graphe de contrôle, Niveau d abstraction constant. T2 : remontée des niveaux d abstraction Quelques millions d instructions dans un driver, une machine virtuelle, 112 handlers, 800 lignes de macro-assembleur, 300 lignes de C, Extraction progressive de la sémantique.

52 A. Gazet & Y. Guillot Déprotection semi-automatique de binaire 49/49 Remerciements L infâme Serpillierre, Le(s) concepteur(s) du T2. Vos questions?

Déprotection semi-automatique de binaire

Déprotection semi-automatique de binaire Déprotection semi-automatique de binaire Yoann Guillot et Alexandre Gazet Sogeti - ESEC Résumé Que ce soit sur des binaires malicieux ou non, les protections dont le but est de freiner la rétro-ingénierie

Plus en détail

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques... Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009

Plus en détail

Désobfuscation automatique de binaire - The Barbarian Sublimation

Désobfuscation automatique de binaire - The Barbarian Sublimation Désobfuscation automatique de binaire - The Barbarian Sublimation Yoann Guillot, Alexandre Gazet Sogeti - ESEC Résumé Ce papier présente l état de notre recherche dans le domaine de l automatisation du

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur

Plus en détail

Programmation assembleur : aperçu

Programmation assembleur : aperçu Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal

Plus en détail

Le Projet BINSEC. Automatiser l analyse de sécurité au niveau binaire. Airbus group, CEA, IRISA, LORIA, Uni. Joseph Fourier. p.

Le Projet BINSEC. Automatiser l analyse de sécurité au niveau binaire. Airbus group, CEA, IRISA, LORIA, Uni. Joseph Fourier. p. Le Projet BINSEC Automatiser l analyse de sécurité au niveau binaire Airbus group, CEA, IRISA, LORIA, Uni. Joseph Fourier p. 1/22 Introduction Panorama de BINSEC Cadre de travail Projet ANR INS, appel

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

Logiciel de base. Première année ENSIMAG

Logiciel de base. Première année ENSIMAG Logiciel de base Première année ENSIMAG 1 Procédures, paramètres, pile En assembleur une fonction est une étiquette, c'est l'adresse de sa première instruction Lors de l'appel d'une fonction, la pile sert

Plus en détail

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96

Assembleur i8086. Philippe Preux IUT Informatique du Littoral. Année universitaire 95 96 Assembleur i8086 Philippe Preux IUT Informatique du Littoral Année universitaire 95 96 1 Avertissement Ce document décrit le langage d assemblage étudié et utilisé dans le cadre des TP d architecture.

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Résumé Génération de code Le code intermédiaire

Résumé Génération de code Le code intermédiaire Résumé Analyse INFO0004 Structure des langages de programmation Génération de code ; liaison et exécution Justus H. Piater Programmation Analyse Compilation Liaison fichier texte Analyse lexicale flux

Plus en détail

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement à

Plus en détail

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Travaux d études et de recherches Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Étudiant : Luc Michel Encadrants : Frédéric Pétrot Nicolas Fournel 23 mai 2010 TABLE DES MATIÈRES

Plus en détail

Les techniques de protection du logiciel

Les techniques de protection du logiciel Travail d'études Licence Informatique 2003-2004 Les techniques de protection du logiciel Julien BURLE Térence SCALABRE Encadré par Mr Pierre CRESCENZO Travail d'étude: Les techniques de protection du logiciel

Plus en détail

GlobalScape Secure FTP Server 3.0.2 Buffer Overflow

GlobalScape Secure FTP Server 3.0.2 Buffer Overflow GlobalScape Secure FTP Server 3.0.2 Buffer Overflow muts@whitehat.co.il Traduction française: jerome[at]athias.fr http://www.athias.fr/jerome/doc/ Qu est-ce que le Serveur FTP Sécurisé GlobalScape?...

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire

Plus en détail

Réalisation d un OS 32 bits pour PC(x86)

Réalisation d un OS 32 bits pour PC(x86) Rapport projet tutoré Réalisation d un OS 32 bits pour PC(x86) Maxime Chéramy Nicolas Floquet Benjamin Hautbois

Plus en détail

4. Initiation à l'assembleur

4. Initiation à l'assembleur 4. Initiation à l'assembleur 142 143 1. Introduction Pour mieux comprendre la structure interne d'un ordinateur, nous aborderons la langage d'assemblage d'un processeur contemporain, le Pentium III d'intel.

Plus en détail

Comprendre telock 0.98 et private versions.

Comprendre telock 0.98 et private versions. Comprendre telock 0.98 et private versions. par BeatriX 1. INTRODUCTION / AVERTISSEMENTS... 3 2. LE LOADER DE TELOCK 0.98...5 a. Schéma du loader sans les protections... 5 b. Schéma du loader avec les

Plus en détail

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

Plus en détail

Initiation à la sécurité

Initiation à la sécurité Initiation à la sécurité UE Systèmes informatiques 12 septembre 2011 Julien Raeis - http://raeis.iiens.net/ Présentation Ingénieur IIE 2005 Carrière dans la sécurité des systèmes Consultant en sécurité

Plus en détail

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants : GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours

Plus en détail

Département informatique de l université d Angers

Département informatique de l université d Angers Département informatique de l université d Angers Amélioration d'un logiciel d'émulation du fonctionnement d'un microprocesseur x8 6 SCHAEFFER Florian ROUSSEAUX Billy L3 Informatique Responsable du projet:

Plus en détail

Introduction aux Machines Virtuelles avec VMKit

Introduction aux Machines Virtuelles avec VMKit Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime

Plus en détail

Jeu d instructions NIOS II

Jeu d instructions NIOS II Jeu d instructions NIOS II 1 Formats d instructions Le processeur NIOS II a un jeu d instructions de type RISC. Il possède 32 registres de 32 bits, notés r0 à r31, avec r0 0. Les instructions sont de longueur

Plus en détail

Solution du challenge SSTIC 2013. Emilien Girault ANSSI/COSSI/DTO/BAI 06/06/13

Solution du challenge SSTIC 2013. Emilien Girault ANSSI/COSSI/DTO/BAI 06/06/13 Solution du challenge SSTIC 2013 Emilien Girault ANSSI/COSSI/DTO/BAI 06/06/13 Plan Analyse d une capture réseau Détermination des canaux cachés Déchiffrement de l archive Etude d un FPGA Déduction du jeu

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Introduction...6. Assembleur, philosophieet atouts...8. Avantages et inconvénients de l assembleur...9. Que programmer en Assembleur?.

Introduction...6. Assembleur, philosophieet atouts...8. Avantages et inconvénients de l assembleur...9. Que programmer en Assembleur?. Table des matières Introduction.....6 Assembleur, philosophieet atouts...8 Avantages et inconvénients de l assembleur...9 Que programmer en Assembleur?.10 Chapitre 1 : Notions de base....10 Les systèmes

Plus en détail

Recompilation dynamique de codes binaires hostiles

Recompilation dynamique de codes binaires hostiles Recompilation dynamique de codes binaires hostiles Sébastien Josse DGA Maîtrise de l Information Résumé Les malware sont de plus en plus difficiles à analyser, par utilisation des outils conventionnels

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

CONFIGURATION DE L AUTOMATE SIEMENS

CONFIGURATION DE L AUTOMATE SIEMENS CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider

Plus en détail

Triton : Framework d exécution concolique et d analyses en runtime

Triton : Framework d exécution concolique et d analyses en runtime Triton : Framework d exécution concolique et d analyses en runtime Jonathan Salwan et Florent Saudel jsalwan@quarkslab.com florent.saudel@etu.u-bordeaux.fr Quarkslab, Université de Bordeaux Résumé Triton

Plus en détail

Introduction Damien Nouvel

Introduction Damien Nouvel Introduction Organisation du cours Introduction : 2h cours Langage (X)HTML : 2h cours, 2h TP Réseaux et protocoles : 2h cours Fabrication de site web : 4h cours, 2h TP Hébergement de site web : 2h cours,

Plus en détail

Rappels d architecture

Rappels d architecture Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

DG-ADAJ: Une plateforme Desktop Grid

DG-ADAJ: Une plateforme Desktop Grid DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Playing with ptrace() for fun and profit

Playing with ptrace() for fun and profit sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide

Plus en détail

Cryptographie : attaques tous azimuts Comment attaquer la cryptographie sans cryptanalyse intensive

Cryptographie : attaques tous azimuts Comment attaquer la cryptographie sans cryptanalyse intensive Cryptographie : attaques tous azimuts Comment attaquer la cryptographie sans cryptanalyse intensive Jean-Baptiste Bedrune 1, Éric Filiol2, and Frédéric Raynal 1,3 1 Sogeti ESEC 2 ESAT 3 MISC Magazine Résumé

Plus en détail

CM2 L architecture MIPS32

CM2 L architecture MIPS32 CM2 L architecture MIPS32 Olivier Marchetti (CM-TD-TP) Alexandre Brière (TD-TP) Laboratoire d informatique de Paris 6 Pôle SoC UPMC Année 2014-2015 Instructions MIPS Contrôle Données en MIPS E/S en MIPS

Plus en détail

Matrice d accès. Master SEMS, 2013-2014. Pierre Paradinas. October 16, 2013

Matrice d accès. Master SEMS, 2013-2014. Pierre Paradinas. October 16, 2013 Matrice d accès Master SEMS, 2013-2014 Pierre Paradinas October 16, 2013 Le Concept de Matrice d Accès ntroduit en 1971 par Butler Lampson Definition On note O, l ensemble des entités objet qui sont impliquées

Plus en détail

ARBRES BINAIRES DE RECHERCHE

ARBRES BINAIRES DE RECHERCHE ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations

Plus en détail

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

Plus en détail

Codage d information. Codage d information : -Définition-

Codage d information. Codage d information : -Définition- Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale

Plus en détail

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques CTIA04 Page 1 1. Les types de données sous S7 300 Il existe plusieurs types de données utilisées pour la programmation

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

1 Description générale de VISFIELD

1 Description générale de VISFIELD Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit

Plus en détail

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur www.matthieuamiguet.

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur www.matthieuamiguet. : Espoirs et menaces Matthieu Amiguet 2005 2006 Objectifs 2 Obtenir une compréhension de base des principes régissant le calcul quantique et la cryptographie quantique Comprendre les implications sur la

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

ASR1 TD7 : Un microprocesseur RISC 16 bits

ASR1 TD7 : Un microprocesseur RISC 16 bits {Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1 Christophe CANDILLIER Cours de DataMining mars 2004 age 1 1. Introduction 2. rocessus du DataMining 3. Analyse des données en DataMining 4. Analyse en Ligne OLA 5. Logiciels 6. Bibliographie Christophe

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Principe de fonctionnement des périphériques des ordinateurs en vue de la programmation. Patrick Cégielski

Principe de fonctionnement des périphériques des ordinateurs en vue de la programmation. Patrick Cégielski Principe de fonctionnement des périphériques des ordinateurs en vue de la programmation Patrick Cégielski Juin 2012 Pour Irène et Marie Legal Notice Copyright c 2012 Patrick Cégielski Université Paris

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet OSSIR Groupe SUR 8 juillet 2008 VMware et sécurité Julien Raeis

Plus en détail

Exécution des instructions machine

Exécution des instructions machine Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]

Plus en détail

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année UFR Sciences et Techniques Licence S&T 1ère année Informatique UE 102 Architecture des ordinateurs et Algorithmique de base Jean-Yves Antoine http://www.info.univ-tours.fr/~antoine/ UFR Sciences et Techniques

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB. global Outils de développement et compilation IDE, GCC/Clang, ASAN, perf, valgrind, GDB Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 / 36 Objectifs des outils présentés

Plus en détail

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 ÉCOLE POLYTECHNIQUE DE MONTRÉAL Département de Génie Électrique La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700 M. Corinthios et Zaher Dannawi 29 août 2007 2 Tables des

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur d'archivage 2007 Installation et utilisation de la BD exist Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT

Les portes logiques. Voici les symboles des trois fonctions de base. Portes AND. Portes OR. Porte NOT Les portes logiques Nous avons jusqu ici utilisé des boutons poussoirs et une lampe pour illustrer le fonctionnement des opérateurs logiques. En électronique digitale, les opérations logiques sont effectuées

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Virtualisation, Sécurité et Gestion des périphériques Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Novembre 2009 Gérard Padiou Systèmes d exploitation

Plus en détail

Approche Contract First

Approche Contract First Exemple HelpDesk Approche Contract First Développement d un premier web service en utilisant l approche contract first (ou WSDL First) Écriture du wsdl avant d écrire le code java Autre possibilité implementation

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Architecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013

Architecture des ordinateurs. Loïc Cuvillon. 20 novembre 2013 Systèmes temps réel et systèmes embarqués Architecture des ordinateurs Loïc Cuvillon Ecole Nationale Supérieure de Physique de Strasbourg 20 novembre 2013 Loïc Cuvillon (ENSPS) Systèmes temps réel et systèmes

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN

DNS Server RPC Interface buffer overflow. Céline COLLUMEAU Nicolas BODIN Mémoire DNS Server RPC Interface buffer overflow Céline COLLUMEAU Nicolas BODIN 3 janvier 2009 Table des matières 1 Introduction 2 2 Présentation de la faille 3 3 Exemple d exploitation 5 4 Solutions 10

Plus en détail

Architecture des ordinateurs Introduction à l informatique

Architecture des ordinateurs Introduction à l informatique Architecture des ordinateurs Introduction à l informatique 17 septembre 2004 1 2 3 4 5 6 Les interrupteurs... 0V 5V Ce sont des composants électroniques qui laissent pser un courant principal lorsque la

Plus en détail

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion GenDbg : un débogueur générique Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion 2008 Qui sommes nous? Centre d électronique de l Armement (CELAR) Maîtrise et protection

Plus en détail

Simulation centrée individus

Simulation centrée individus Simulation centrée individus Théorie des jeux Bruno BEAUFILS Université de Lille Année 4/5 Ce document est mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les

Plus en détail

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments

Plus en détail