{"product_id":"162818","title":"Principes fondamentaux de l'inversion ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jYEV1HX1VDVen16vMhjlDpJi7QPWP.png?v=1765113233\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Principes fondamentaux de l'inversion \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/7529742\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eIntroduction au livre\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cdiv\u003e \u003cb\u003eContient tous les principes essentiels que tout opérateur de retournement doit connaître.\u003c\/b\u003e\u003cbr\u003e \u003cbr\u003eLe reverse engineering est une technique qui permet d'examiner en profondeur le fonctionnement interne d'un programme et de le manipuler.\u003cbr\u003e Cela peut être utilisé comme méthode de piratage car il est possible d'utiliser des logiciels commerciaux que nous utilisons couramment.\u003cbr\u003e Parallèlement, l'inversion logicielle est une spécialité des analystes de logiciels malveillants, également appelés « inverseurs », et si elle est bien utilisée, elle peut identifier des bugs ou des vulnérabilités qui n'ont pas été découverts lors de la phase de développement\/test, et peut résoudre des problèmes en accédant directement aux fichiers ou à la mémoire.\u003cbr\u003e\u003cbr\u003e Ce livre explique méticuleusement, à travers plus de 50 chapitres, les principes fondamentaux nécessaires à l'« inversion », qui rendent possibles de telles choses magiques.\u003cbr\u003e Surtout, l'auteur a écrit une variété de codes basés sur sa longue expérience chez AhnLab, tout en présentant en détail diverses techniques de rétro-ingénierie que tout spécialiste de la rétro-ingénierie se doit de connaître ; cet ouvrage est donc utile non seulement aux développeurs qui rêvent de devenir des spécialistes de la rétro-ingénierie, mais aussi à toute personne possédant une expérience pratique.\u003cbr\u003e\n\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e  \u003cli\u003eVous pouvez consulter un aperçu du contenu du livre.\u003cbr\u003e \u003cspan\u003eAperçu\u003c\/span\u003e\n\n\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e \",\"\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindice\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003ePartie 1 : Inversion de base\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Chapitre 1 : Inverser l'histoire\u003cbr\u003e 1.1.\u003cbr\u003e Ingénierie inverse (RE)\u003cbr\u003e 1.2.\u003cbr\u003e Ingénierie inverse du code (RCE)\u003cbr\u003e 1.2.1.\u003cbr\u003e Méthode d'inversion (analyse)\u003cbr\u003e 1.2.2.\u003cbr\u003e Code source, code hexadécimal, code assembleur\u003cbr\u003e 1.2.3.\u003cbr\u003e Réparations et fissures\u003cbr\u003e 1.3.\u003cbr\u003e Fournitures de retournement\u003cbr\u003e 1.3.1.\u003cbr\u003e cible\u003cbr\u003e 1.3.2.\u003cbr\u003e passion\u003cbr\u003e 1.3.3.\u003cbr\u003e Google\u003cbr\u003e 1.4.\u003cbr\u003e Inverser les obstacles\u003cbr\u003e 1.4.1.\u003cbr\u003e Avidité\u003cbr\u003e 1.4.2.\u003cbr\u003e impatience\u003cbr\u003e 1.5.\u003cbr\u003e Le plaisir de l'inversion\u003cbr\u003e\u003cbr\u003e Chapitre 2 : Bonjour le monde ! Inversion\u003cbr\u003e 2.1.\u003cbr\u003e Programme Bonjour le monde !\u003cbr\u003e 2.1.1.\u003cbr\u003e Débogueurs et langage assembleur\u003cbr\u003e 2.2.\u003cbr\u003e Débogage de HelloWorld.exe\u003cbr\u003e 2.2.1.\u003cbr\u003e Objectifs de débogage\u003cbr\u003e 2.2.2.\u003cbr\u003e Démarrer le débogage\u003cbr\u003e 2.2.3. EP\u003cbr\u003e 2.2.4.\u003cbr\u003e Suivez la fonction 40270C\u003cbr\u003e 2.2.5.\u003cbr\u003e Suivez la porte de secours jusqu'à 40104F\u003cbr\u003e 2.2.6.\u003cbr\u003e Trouvez la fonction main()\u003cbr\u003e 2.3.\u003cbr\u003e Familiarisez-vous davantage avec le débogueur\u003cbr\u003e 2.3.1.\u003cbr\u003e Commandes du débogueur\u003cbr\u003e 2.3.2.\u003cbr\u003e Camp de base\u003cbr\u003e 2.3.3.\u003cbr\u003e 4 façons d'établir un camp de base\u003cbr\u003e 2.4.\u003cbr\u003e 4 façons de trouver rapidement le code que vous recherchez\u003cbr\u003e 2.4.1.\u003cbr\u003e Comment exécuter le code\u003cbr\u003e 2.4.2.\u003cbr\u003e Comment rechercher une chaîne de caractères  \u003cbr\u003e2.4.3. Méthode de recherche API (1) - BP dans le code appelant\u003cbr\u003e 2.4.4. Méthode de recherche API (2) - BP directement dans le code API\u003cbr\u003e 2.5.\u003cbr\u003e Remplacez la chaîne « Hello World ! »\u003cbr\u003e 2.5.1.\u003cbr\u003e Correctif\u003cbr\u003e 2.5.2.\u003cbr\u003e Deux façons de réparer une chaîne\u003cbr\u003e 2.6.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 3 Notation Little Endian\u003cbr\u003e 3.1.\u003cbr\u003e Ordre des octets 49\u003cbr\u003e 3.1.1.\u003cbr\u003e Petit bout indien et gros bout indien\u003cbr\u003e 3.1.2.\u003cbr\u003e Vérification du format Little Endian dans OllyDbg\u003cbr\u003e\u003cbr\u003e Chapitre 4 : Description de base des registres IA-32\u003cbr\u003e 4.1. Que sont les registres du processeur ?\u003cbr\u003e 4.1.1.\u003cbr\u003e Pourquoi vous devez connaître les registres\u003cbr\u003e 4.2. Registres IA-32\u003cbr\u003e 4.2.1.\u003cbr\u003e Registres d'exécution de programme de base\u003cbr\u003e 4.3.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 5 Pile\u003cbr\u003e 5.1.\u003cbr\u003e empiler\u003cbr\u003e 5.1.1.\u003cbr\u003e Fonctionnalités de la pile\u003cbr\u003e 5.1.2.\u003cbr\u003e Exemple d'opération sur pile\u003cbr\u003e\u003cbr\u003e Chapitre 6 abex crackme #1 analyse\u003cbr\u003e 6.1.\u003cbr\u003e abex' crackme #1\u003cbr\u003e 6.1.1.\u003cbr\u003e Démarrer le débogage\u003cbr\u003e 6.1.2.\u003cbr\u003e Analyse du code\u003cbr\u003e 6.2.\u003cbr\u003e fissure\u003cbr\u003e 6.3.\u003cbr\u003e Comment passer des paramètres sur la pile\u003cbr\u003e 6.4.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 7 Cadre de pile\u003cbr\u003e 7.1.\u003cbr\u003e cadre de pile\u003cbr\u003e 7.2.\u003cbr\u003e Exemple pratique - stackframe.exe\u003cbr\u003e 7.2.1.\u003cbr\u003e StackFrame.cpp\u003cbr\u003e 7.2.2.\u003cbr\u003e Démarrez la fonction main() et créez une trame de pile.\u003cbr\u003e 7.2.3.\u003cbr\u003e Définition des variables locales\u003cbr\u003e 7.2.4. \u003cbr\u003eSaisissez les paramètres de la fonction add() et appelez la fonction add().\u003cbr\u003e 7.2.5.\u003cbr\u003e Démarrez la fonction add() et créez une trame de pile.\u003cbr\u003e 7.2.6.\u003cbr\u003e Définition des variables locales (x, y) de la fonction add()\u003cbr\u003e 7.2.7. Opération ADD\u003cbr\u003e 7.2.8.\u003cbr\u003e Déballez le cadre de pile de la fonction add() et terminez la fonction (retour).\u003cbr\u003e 7.2.9.\u003cbr\u003e Supprimer le paramètre de la fonction add() (nettoyage de la pile)\u003cbr\u003e 7.2.10.\u003cbr\u003e appel de fonction printf()\u003cbr\u003e 7.2.11.\u003cbr\u003e Définition de la valeur de retour\u003cbr\u003e 7.2.12.\u003cbr\u003e Déballez le cadre de pile et quittez la fonction main().\u003cbr\u003e 7.3.\u003cbr\u003e Modification des options d'OllyDbg\u003cbr\u003e 7.3.1.\u003cbr\u003e options de désarmement\u003cbr\u003e 7.3.2.\u003cbr\u003e Option d'analyse 1\u003cbr\u003e 7.4.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 8 abex crackme #2\u003cbr\u003e 8.1.\u003cbr\u003e abex' crackme #2 run\u003cbr\u003e 8.2.\u003cbr\u003e Fonctionnalités des fichiers Visual Basic\u003cbr\u003e 8.2.1. Moteur spécifique VB\u003cbr\u003e 8.2.2.\u003cbr\u003e Code N (natif), code P (pseudo-code)\u003cbr\u003e 8.2.3.\u003cbr\u003e Gestionnaire d'événements\u003cbr\u003e 8.2.4.\u003cbr\u003e structure non documentée\u003cbr\u003e 8.3.\u003cbr\u003e Démarrer le débogage\u003cbr\u003e 8.3.1.\u003cbr\u003e Appel indirect\u003cbr\u003e 8.3.2. Structure RT_MainStruct\u003cbr\u003e 8.3.3.\u003cbr\u003e Fonction ThunRTMain()\u003cbr\u003e 8.4.\u003cbr\u003e analyse crackme\u003cbr\u003e 8.4.1.\u003cbr\u003e Recherche de chaînes\u003cbr\u003e 8.4.2.\u003cbr\u003e Trouver l'adresse de la chaîne\u003cbr\u003e 8.4.3.\u003cbr\u003e Algorithme de génération en série\u003cbr\u003e 8.4.4.\u003cbr\u003e Code de prédiction\u003cbr\u003e 8.4.5.\u003cbr\u003e Code pour lire la chaîne Nom\u003cbr\u003e 8.4.6.\u003cbr\u003e Boucle de chiffrement\u003cbr\u003e 8.4.7.\u003cbr\u003e Méthode de chiffrement\u003cbr\u003e 8.5. \u003cbr\u003efinition\u003cbr\u003e\u003cbr\u003e Chapitre 9 Process Explorer - Le gestionnaire de tâches ultime\u003cbr\u003e 9.1.\u003cbr\u003e Explorateur de processus\u003cbr\u003e 9.2.\u003cbr\u003e Qu'est-ce qui le rend particulièrement avantageux ?\u003cbr\u003e 9.3.\u003cbr\u003e sysinternals\u003cbr\u003e\u003cbr\u003e Chapitre 10 : Convention d'appel\u003cbr\u003e 10.1.\u003cbr\u003e Convention d'appel\u003cbr\u003e 10.1.1.\u003cbr\u003e cdecl\u003cbr\u003e 10.1.2.\u003cbr\u003e appel standard\u003cbr\u003e 10.1.3.\u003cbr\u003e appel rapide\u003cbr\u003e\u003cbr\u003e Chapitre 11 : La marche arrière de Lena pour les débutants\u003cbr\u003e 11.1.\u003cbr\u003e exécution\u003cbr\u003e 11.2.\u003cbr\u003e analyser\u003cbr\u003e 11.2.1.\u003cbr\u003e Objectif (1) - Supprimer la boîte de message !\u003cbr\u003e 11.2.2.\u003cbr\u003e Correctif (1) - Supprimer la boîte de message\u003cbr\u003e 11.2.3.\u003cbr\u003e Objectif (2) - Trouver le code d'enregistrement\u003cbr\u003e 11.3.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 12 : Comment diable dois-je étudier l'inversion ?\u003cbr\u003e 12.1.\u003cbr\u003e Ingénierie inverse (RE)\u003cbr\u003e 12.1.1.\u003cbr\u003e Toute étude doit avoir un « but ».\u003cbr\u003e\u003cbr\u003e 12.1.2.\u003cbr\u003e Ayez un « esprit positif ».\u003cbr\u003e\u003cbr\u003e 12.1.3.\u003cbr\u003e Vous devez ressentir du plaisir.\u003cbr\u003e\u003cbr\u003e 12.1.4.\u003cbr\u003e Nous devons faire de la « recherche » une partie intégrante de notre vie quotidienne.\u003cbr\u003e\u003cbr\u003e 12.1.5.\u003cbr\u003e Le plus important, c'est la pratique.\u003cbr\u003e\u003cbr\u003e 12.1.6.\u003cbr\u003e Ayez l'esprit détendu.\u003cbr\u003e\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePartie 2 Format de fichier PE\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Chapitre 13 Format de fichier PE\u003cbr\u003e 13.1.\u003cbr\u003e Introduction\u003cbr\u003e 13.2. Format de fichier PE\u003cbr\u003e 13.2.1.\u003cbr\u003e structure de base\u003cbr\u003e 13.2.2. VA et RVA\u003cbr\u003e 13.3. En-tête PE\u003cbr\u003e 13.3.1. En-tête DOS\u003cbr\u003e 13.3.2. Ébauche DOS  \u003cbr\u003e13.3.3. En-tête NT\u003cbr\u003e 13.3.4. IMAGE_NT_HEADERS - IMAGE_FILE_HEADER\u003cbr\u003e 13.3.5. IMAGE_NT_HEADERS - IMAGE_OPTIONAL_HEADER32\u003cbr\u003e 13.3.6.\u003cbr\u003e\u003cbr\u003e 13.4. RVA à RAW\u003cbr\u003e 13.5. IAT\u003cbr\u003e 13.5.1. DLL\u003cbr\u003e 13.5.2. DESCRIPTEUR_IMPORTATION_IMAGE\u003cbr\u003e 13.5.3.\u003cbr\u003e Entraînez-vous à utiliser notepad.exe\u003cbr\u003e 13.6. MANGER\u003cbr\u003e 13.6.1. RÉPERTOIRE_D'EXPORTATION_IMAGE\u003cbr\u003e 13.6.2.\u003cbr\u003e Entraînez-vous à utiliser kernel32.dll\u003cbr\u003e 13.7.\u003cbr\u003e PE avancé (exécutable portable)\u003cbr\u003e 13.7.1. PEView.exe\u003cbr\u003e 13.7.2.\u003cbr\u003e PE rapiécé\u003cbr\u003e 13.8.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 14 Compression d'exécution\u003cbr\u003e 14.1.\u003cbr\u003e Compression des données\u003cbr\u003e 14.1.1.\u003cbr\u003e compression sans perte\u003cbr\u003e 14.1.2.\u003cbr\u003e compression avec perte\u003cbr\u003e 14.2.\u003cbr\u003e Compression exécutable\u003cbr\u003e 14.2.1.\u003cbr\u003e Emballeur\u003cbr\u003e 14.2.2.\u003cbr\u003e Protecteur\u003cbr\u003e 14.3.\u003cbr\u003e Test de compression d'exécution\u003cbr\u003e 14.3.1.\u003cbr\u003e Comparaison des fichiers notepad.exe et notepad_upx.exe\u003cbr\u003e\u003cbr\u003e Chapitre 15 : Débogage du Bloc-notes compressé avec des exécutables UPX\u003cbr\u003e 15.1.\u003cbr\u003e Code EP de notepad.exe\u003cbr\u003e 15.2.\u003cbr\u003e Code EP de notepad_upx.exe\u003cbr\u003e 15.3. Traçage des fichiers UPX\u003cbr\u003e 15.3.1.\u003cbr\u003e Commande de traçage d'OllyDbg\u003cbr\u003e 15.3.2.\u003cbr\u003e Boucle n° 1\u003cbr\u003e 15.3.3.\u003cbr\u003e Boucle n° 2\u003cbr\u003e 15.3.4.\u003cbr\u003e Boucle n° 3\u003cbr\u003e 15.3.5.\u003cbr\u003e Boucle n° 4\u003cbr\u003e 15.4. Comment trouver rapidement l'OEP de l'UPX\u003cbr\u003e 15.4.1. Installation de BP dans l'instruction JMP après l'instruction POPAD\u003cbr\u003e 15.4.2. \u003cbr\u003eInstallation d'un point d'arrêt matériel sur la pile\u003cbr\u003e 15,5.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 16 Tableau de relocalisation de base\u003cbr\u003e 16.1. Relocalisation PE\u003cbr\u003e 16.1.1. DLL\/SYS\u003cbr\u003e 16.1.2. EXE\u003cbr\u003e 16.2. Actions entreprises lors du déplacement d'un entité physique\u003cbr\u003e 16.3. Principe de fonctionnement du déplacement des équipements de production\u003cbr\u003e 16.3.1.\u003cbr\u003e Tableau de relocalisation de base\u003cbr\u003e 16.3.2. Structure IMAGE_BASE_RELOCATION\u003cbr\u003e 16.3.3.\u003cbr\u003e Comment interpréter le tableau de relocalisation de base\u003cbr\u003e 16.3.4.\u003cbr\u003e Pratique\u003cbr\u003e\u003cbr\u003e Chapitre 17 Suppression de la section .reloc d'un exécutable\u003cbr\u003e 17.1.\u003cbr\u003e section .reloc\u003cbr\u003e 17.2.\u003cbr\u003e reloc.exe\u003cbr\u003e 17.2.1.\u003cbr\u003e Nettoyage de l'en-tête de section .reloc\u003cbr\u003e 17.2.2.\u003cbr\u003e Supprimer la section .reloc\u003cbr\u003e 17.2.3. Modifier l'en-tête du fichier image\u003cbr\u003e 17.2.4. Modification de l'en-tête optionnel de l'image\u003cbr\u003e 17.3.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 18 : Analyse détaillée de l’en-tête PE UPack\u003cbr\u003e 18.1. Description d'UPack\u003cbr\u003e 18.2. Compression du fichier exécutable notepad.exe avec UPack\u003cbr\u003e 18.3.\u003cbr\u003e Utilisation de Stud_PE\u003cbr\u003e 18.4. Comparaison des en-têtes PE\u003cbr\u003e 18.4.1.\u003cbr\u003e En-tête PE de notepad.exe (original)\u003cbr\u003e 18.4.2.\u003cbr\u003e En-tête PE de notepad_upack.exe (archive exécutable)\u003cbr\u003e 18.5. Analyse de l'en-tête PE d'UPack\u003cbr\u003e 18.5.1.\u003cbr\u003e En-tête de remplacement\u003cbr\u003e 18.5.2. IMAGE_FILE_HEADER.SizeOfOptionalHeader\u003cbr\u003e 18.5.3. IMAGE_OPTIONAL_HEADER.NumberOfRvaAndSizes  \u003cbr\u003e18.5.4. EN-TÊTE DE SECTION IMAGE\u003cbr\u003e 18.5.5.\u003cbr\u003e Écraser les sections\u003cbr\u003e 18.5.6. RVA à RAW\u003cbr\u003e 18.5.7.\u003cbr\u003e Importer la table (tableau IMAGE_IMPORT_DESCRIPTOR)\u003cbr\u003e 18.5.8. Table des adresses d'importation (IAT)\u003cbr\u003e 18.6.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 19 : Débogage d’UPack – Recherche d’OEP\u003cbr\u003e 19.1.\u003cbr\u003e Erreur d'exécution d'OllyDbg\u003cbr\u003e 19.2.\u003cbr\u003e boucle de décodage\u003cbr\u003e 19.3. Paramètres IAT\u003cbr\u003e 19.4.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 20 : Exercices pratiques sur les patchs en ligne\u003cbr\u003e 20.1.\u003cbr\u003e Patch en ligne\u003cbr\u003e 20.2.\u003cbr\u003e Pratique - Patchme\u003cbr\u003e 20.3.\u003cbr\u003e Débogage - Analyse du flux d'exécution\u003cbr\u003e 20.4.\u003cbr\u003e structure du code\u003cbr\u003e 20,5.\u003cbr\u003e Pratique du patch en ligne\u003cbr\u003e 20.5.1.\u003cbr\u003e Où dois-je installer le câble de raccordement ?\u003cbr\u003e 20.5.2.\u003cbr\u003e Création d'un code de correctif\u003cbr\u003e 20.5.3.\u003cbr\u003e Exécution du code correctif\u003cbr\u003e 20.5.4.\u003cbr\u003e Vérifier les résultats\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePartie 3 Injection de DLL\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Chapitre 21 : Interception des messages Windows\u003cbr\u003e 21.1.\u003cbr\u003e crochet\u003cbr\u003e 21.2.\u003cbr\u003e Message Hook\u003cbr\u003e 21.3.\u003cbr\u003e DéfinirWindowsHookEx ( )\u003cbr\u003e 21.4.\u003cbr\u003e pratique de l'accrochage de messages au clavier\u003cbr\u003e 21.4.1.\u003cbr\u003e Exemple pratique HookMain.exe\u003cbr\u003e 21.4.2.\u003cbr\u003e Analyse du code source\u003cbr\u003e 21,5.\u003cbr\u003e Pratique du débogage\u003cbr\u003e 21.5.1.\u003cbr\u003e Débogage de HookMain.exe\u003cbr\u003e 21.5.2.\u003cbr\u003e Débogage de KeyHook.dll dans le processus Notepad.exe\u003cbr\u003e 21.6.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 22 : Les enregistreurs de frappe utilisés à des fins malveillantes\u003cbr\u003e 22.1.\u003cbr\u003e Cibles des enregistreurs de frappe malveillants\u003cbr\u003e 22.1.1. \u003cbr\u003ejeux en ligne\u003cbr\u003e 22.1.2.\u003cbr\u003e Services bancaires par Internet\u003cbr\u003e 22.1.3.\u003cbr\u003e fuite d'informations d'entreprise\u003cbr\u003e 22.2.\u003cbr\u003e Types d'enregistreurs de frappe et perspectives de développement\u003cbr\u003e 22.3.\u003cbr\u003e Notre position concernant la lutte contre les enregistreurs de frappe\u003cbr\u003e 22.4.\u003cbr\u003e Informations personnelles\u003cbr\u003e\u003cbr\u003e Chapitre 23 Injection de DLL\u003cbr\u003e 23.1. Injection de DLL\u003cbr\u003e 23.2. Exemple d'utilisation de l'injection de DLL\u003cbr\u003e 23.2.1.\u003cbr\u003e Améliorations des fonctionnalités et corrections de bugs\u003cbr\u003e 23.2.2.\u003cbr\u003e Interception de messages\u003cbr\u003e 23.2.3. Interconnexion d'API\u003cbr\u003e 23.2.4.\u003cbr\u003e Autres applications\u003cbr\u003e 23.2.5.\u003cbr\u003e Logiciel malveillant\u003cbr\u003e 23.3. Comment implémenter l'injection de DLL\u003cbr\u003e 23.4.\u003cbr\u003e CréerThreadDistant()\u003cbr\u003e 23.4.1.\u003cbr\u003e Exemple pratique myhack.dll\u003cbr\u003e 23.4.2.\u003cbr\u003e Exemple d'analyse de code source\u003cbr\u003e 23.4.3.\u003cbr\u003e Comment déboguer\u003cbr\u003e 23,5.\u003cbr\u003e AppInit_DLLs\u003cbr\u003e 23.5.1.\u003cbr\u003e Exemple d'analyse de code source\u003cbr\u003e 23.5.2.\u003cbr\u003e Exemple pratique myhack2.dll\u003cbr\u003e 23.6.\u003cbr\u003e DéfinirWindowsHookEx ( )\u003cbr\u003e 23.7.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 24 Éjection de DLL\u003cbr\u003e 24.1. Fonctionnement de l'éjection des DLL\u003cbr\u003e 24.2. Mise en œuvre de l'éjection de DLL\u003cbr\u003e 24.2.1.\u003cbr\u003e Obtenir des informations sur les DLL chargées dans un processus\u003cbr\u003e 24.2.2.\u003cbr\u003e Obtenez le descripteur du processus cible\u003cbr\u003e 24.2.3.\u003cbr\u003e Obtenez l'adresse de l'API FreeLibrary()\u003cbr\u003e 24.2.4.\u003cbr\u003e Exécuter un thread dans le processus cible\u003cbr\u003e 24.3. Exercice simple d'éjection de DLL\u003cbr\u003e 24.3.1.\u003cbr\u003e Copiez le fichier et exécutez notepad.exe\u003cbr\u003e 24.3.2. \u003cbr\u003einjection\u003cbr\u003e 24.3.3.\u003cbr\u003e Éjection\u003cbr\u003e\u003cbr\u003e Chapitre 25 : Chargement des DLL à l’aide de correctifs PE\u003cbr\u003e 25.1.\u003cbr\u003e Fichiers d'exercices\u003cbr\u003e 25.1.1.\u003cbr\u003e TextView.exe\u003cbr\u003e 25.1.2.\u003cbr\u003e TextView_patched.exe\u003cbr\u003e 25.2.\u003cbr\u003e Code source - myhack3.cpp\u003cbr\u003e 25.2.1.\u003cbr\u003e DllMain()\u003cbr\u003e 25.2.2.\u003cbr\u003e URL de téléchargement ( )\u003cbr\u003e 25.2.3.\u003cbr\u003e DéposerFichier()\u003cbr\u003e 25.2.4.\u003cbr\u003e factice( )\u003cbr\u003e 25.3.\u003cbr\u003e Préparation du correctif pour le fichier TextView.exe\u003cbr\u003e 25.3.1.\u003cbr\u003e Idées de patchs\u003cbr\u003e 25.3.2.\u003cbr\u003e Pré-recherche de patch\u003cbr\u003e 25.3.3. Mouvement IDT\u003cbr\u003e 25.4.\u003cbr\u003e Opération de correctif TextView.exe\u003cbr\u003e 25.4.1. Modification de la valeur RVA du tableau IMPORT\u003cbr\u003e 25.4.2. Supprimer la table d'importation liée\u003cbr\u003e 25.4.3.\u003cbr\u003e Créer un nouvel IDT\u003cbr\u003e 25.4.4.\u003cbr\u003e Nom, INT, paramètres IAT\u003cbr\u003e 25.4.5. Modifier les caractéristiques de la section IAT\u003cbr\u003e 25,5.\u003cbr\u003e Test\u003cbr\u003e 25.6.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 26 Outils PE\u003cbr\u003e 26.1. Outils PE\u003cbr\u003e 26.1.1.\u003cbr\u003e Vidage de la mémoire du processus\u003cbr\u003e 26.1.2. Éditeur PE\u003cbr\u003e 26.2.\u003cbr\u003e finition\u003cbr\u003e Faire une pause - Le vrai plaisir de la marche arrière\u003cbr\u003e\u003cbr\u003e Chapitre 27 Injection de code\u003cbr\u003e 27.1.\u003cbr\u003e Injection de code\u003cbr\u003e 27.2. Injection de DLL vs. Injection de code\u003cbr\u003e 27.2.1.\u003cbr\u003e Pourquoi utiliser l'injection de code ?\u003cbr\u003e 27.3.\u003cbr\u003e Exemple pratique\u003cbr\u003e 27.3.1.\u003cbr\u003e Exécutez notepad.exe\u003cbr\u003e 27.3.2.\u003cbr\u003e Exécutez CodeInjection.exe\u003cbr\u003e 27.3.3.\u003cbr\u003e Cochez la boîte de message\u003cbr\u003e 27.4.\u003cbr\u003e Injection de code.cpp\u003cbr\u003e 27.4.1.\u003cbr\u003e principal( )\u003cbr\u003e 27.4.2. \u003cbr\u003eThreadProc()\u003cbr\u003e 27.4.3.\u003cbr\u003e InjecterCode()\u003cbr\u003e 27,5.\u003cbr\u003e Pratique du débogage par injection de code\u003cbr\u003e 27.5.1.\u003cbr\u003e Débogage de notepad.exe\u003cbr\u003e 27.5.2.\u003cbr\u003e Modification des options d'OllyDbg\u003cbr\u003e 27.5.3.\u003cbr\u003e Exécutez CodeInjection.exe\u003cbr\u003e 27.5.4.\u003cbr\u003e Code de démarrage du thread\u003cbr\u003e 27.6.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 28 : Injection de code à l’aide du langage assembleur\u003cbr\u003e 28.1.\u003cbr\u003e cible\u003cbr\u003e 28.2.\u003cbr\u003e Programmation en assembleur\u003cbr\u003e 28.3.\u003cbr\u003e Commande Assemble d'OllyDbg\u003cbr\u003e 28.3.1.\u003cbr\u003e Écriture de ThreadProc()\u003cbr\u003e 28.3.2.\u003cbr\u003e Enregistrer le fichier\u003cbr\u003e 28.4.\u003cbr\u003e fabrication d'injecteurs\u003cbr\u003e 28.4.1.\u003cbr\u003e Obtention du code binaire de la fonction ThreadProc()\u003cbr\u003e 28.4.2.\u003cbr\u003e CodeInjection2.cpp\u003cbr\u003e 28,5.\u003cbr\u003e Pratique du débogage\u003cbr\u003e 28.5.1.\u003cbr\u003e Débogage de notepad.exe\u003cbr\u003e 28.5.2.\u003cbr\u003e Modification des options d'OllyDbg\u003cbr\u003e 28.5.3.\u003cbr\u003e Exécutez CodeInjection2.exe\u003cbr\u003e 28.5.4.\u003cbr\u003e Code de démarrage du thread\u003cbr\u003e 28.6.\u003cbr\u003e Analyse détaillée\u003cbr\u003e 28.6.1.\u003cbr\u003e cadre de pile\u003cbr\u003e 28.6.2. Pointeur de structure THREAD_PARAM\u003cbr\u003e 28.6.3.\u003cbr\u003e La chaîne « user32.dll »\u003cbr\u003e 28.6.4.\u003cbr\u003e Saisissez le paramètre de chaîne « user32.dll »\u003cbr\u003e 28.6.5.\u003cbr\u003e Appeler LoadLibraryA(“user32.dll”)\u003cbr\u003e 28.6.6.\u003cbr\u003e chaîne « MessageBoxA »\u003cbr\u003e 28.6.7.\u003cbr\u003e Appeler GetProcAddress(hMod, « MessageBoxA »)\u003cbr\u003e 28.6.8.\u003cbr\u003e Paramètre d'entrée 1 de MessageBoxA() - MB_OK\u003cbr\u003e 28.6.9. \u003cbr\u003eParamètre d'entrée 2 de MessageBoxA() - « ReverseCore »\u003cbr\u003e 28.6.10.\u003cbr\u003e Paramètre d'entrée 3 de MessageBoxA() - « www.reversecore.com »\u003cbr\u003e 28.6.11.\u003cbr\u003e Paramètre d'entrée 4 de MessageBoxA() - NULL\u003cbr\u003e 28.6.12.\u003cbr\u003e Appelez MessageBoxA\u003cbr\u003e 28.6.13.\u003cbr\u003e Définition de la valeur de retour de ThreadProc()\u003cbr\u003e 28.6.14.\u003cbr\u003e Déballez le cadre de pile et renvoyez la fonction\u003cbr\u003e 28.7.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePartie 4 : Interconnexion d’API\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Chapitre 29 : Interception d’API : La « fleur » du reverse engineering\u003cbr\u003e 29.1.\u003cbr\u003e Crochetage\u003cbr\u003e 29.2. API\u003cbr\u003e 29.3. Interconnexion d'API\u003cbr\u003e 29.3.1.\u003cbr\u003e Appel API normal\u003cbr\u003e 29.3.2.\u003cbr\u003e Appel API de type « Hooking »\u003cbr\u003e 29.4.\u003cbr\u003e Carte technologique\u003cbr\u003e 29.4.1.\u003cbr\u003e Objet Méthode(quoi)\u003cbr\u003e 29.4.2.\u003cbr\u003e Lieu (où)\u003cbr\u003e 29.4.3.\u003cbr\u003e Technique (Comment)\u003cbr\u003e 29.5. API\u003cbr\u003e\u003cbr\u003e Chapitre 30 Bloc-notes WriteFile() Interception\u003cbr\u003e 30.1.\u003cbr\u003e Carte technique - Techniques de débogage\u003cbr\u003e 30.2.\u003cbr\u003e Description du débogueur\u003cbr\u003e 30.2.1.\u003cbr\u003e Terminologie\u003cbr\u003e 30.2.2.\u003cbr\u003e Fonctionnalités du débogueur\u003cbr\u003e 30.2.3.\u003cbr\u003e Fonctionnement du débogueur\u003cbr\u003e 30.2.4.\u003cbr\u003e Événement de débogage\u003cbr\u003e 30.3.\u003cbr\u003e ordre de travail\u003cbr\u003e 30.4.\u003cbr\u003e Pratique\u003cbr\u003e 30,5.\u003cbr\u003e Comment ça marche\u003cbr\u003e 30.5.1.\u003cbr\u003e empiler\u003cbr\u003e 30.5.2.\u003cbr\u003e Flux d'exécution\u003cbr\u003e 30.5.3.\u003cbr\u003e Décrocher et accrocher\u003cbr\u003e 30.6.\u003cbr\u003e Description du code source\u003cbr\u003e 30.6.1.\u003cbr\u003e principal( )\u003cbr\u003e 30.6.2.\u003cbr\u003e Boucle de débogage()\u003cbr\u003e 30.6.3. ÉVÉNEMENT DE DÉBOGAGE DU PROCESSUS DE SORTIE  \u003cbr\u003e30.6.4. CREATE_PROCESS_DEBUG_EVENT - Événement OnCreateProcessDebug()\u003cbr\u003e 30.6.5. EXCEPTION_DEBUG_EVENT - OnExceptionDebugEvent()\u003cbr\u003e\u003cbr\u003e Chapitre 31 : L'histoire du débogueur\u003cbr\u003e 31.1.\u003cbr\u003e OllyDbg\u003cbr\u003e 31.2. IDA Pro\u003cbr\u003e 31.3.\u003cbr\u003e WinDbg\u003cbr\u003e\u003cbr\u003e Chapitre 32 : Calculatrice, Apprendre le coréen\u003cbr\u003e 32.1.\u003cbr\u003e Carte technologique\u003cbr\u003e 32.2.\u003cbr\u003e Sélection d'une API cible\u003cbr\u003e 32.3. Principe de fonctionnement du crochetage IAT\u003cbr\u003e 32.4.\u003cbr\u003e Pratique\u003cbr\u003e 32,5.\u003cbr\u003e Analyse du code source\u003cbr\u003e 32.5.1.\u003cbr\u003e DllMain()\u003cbr\u003e 32.5.2.\u003cbr\u003e MySetWindowTextW()\u003cbr\u003e 32.5.3.\u003cbr\u003e hook_iat ( )\u003cbr\u003e 32.6.\u003cbr\u003e Débogage des DLL injectées\u003cbr\u003e 32.6.1.\u003cbr\u003e DllMain()\u003cbr\u003e 32.6.2.\u003cbr\u003e hook_iat ( )\u003cbr\u003e 32.6.3.\u003cbr\u003e MySetWindowTextW()\u003cbr\u003e 32.7.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 33 : Le processus « furtif »\u003cbr\u003e 33.1.\u003cbr\u003e Carte technologique\u003cbr\u003e 33.2. Fonctionnement du correctif de code API\u003cbr\u003e 33.2.1.\u003cbr\u003e Avant l'accrochage\u003cbr\u003e 33.2.2.\u003cbr\u003e Après avoir accroché\u003cbr\u003e 33.3.\u003cbr\u003e Dissimulation du processus\u003cbr\u003e 33.3.1.\u003cbr\u003e Principe de fonctionnement de dissimulation des processus\u003cbr\u003e 33.3.2.\u003cbr\u003e API associées\u003cbr\u003e 33.3.3.\u003cbr\u003e Problèmes liés aux techniques de dissimulation\u003cbr\u003e 33.4.\u003cbr\u003e Exercice n° 1 (HideProc.exe, stealth.dll)\u003cbr\u003e 33.4.1.\u003cbr\u003e Exécutez notepad.exe, procexp.exe, taskmgr.exe\u003cbr\u003e 33.4.2.\u003cbr\u003e Exécutez HideProc.exe\u003cbr\u003e 33.4.3.\u003cbr\u003e Vérifier l'injection de stealth.dll\u003cbr\u003e 33.4.4.\u003cbr\u003e Vérifiez si le processus notepad.exe est masqué.\u003cbr\u003e 33.4.5.\u003cbr\u003e Afficher le processus notepad.exe\u003cbr\u003e 33,5. \u003cbr\u003eAnalyse du code source\u003cbr\u003e 33.5.1.\u003cbr\u003e HookProc.cpp\u003cbr\u003e 33.5.2.\u003cbr\u003e furtif.cpp\u003cbr\u003e 33.6.\u003cbr\u003e Interconnexion globale de l'API\u003cbr\u003e 33.6.1.\u003cbr\u003e API Kernel32.CreateProcess()\u003cbr\u003e 33.6.2.\u003cbr\u003e API Ntdll.ZwResumeThread()\u003cbr\u003e 33.7.\u003cbr\u003e Exercice n° 2 (HideProc2.exe, stealth2.dll)\u003cbr\u003e 33.7.1.\u003cbr\u003e Copiez le fichier stealth2.dll dans le dossier %SYSTEM%\u003cbr\u003e 33.7.2.\u003cbr\u003e Exécutez HideProc2.exe -hide\u003cbr\u003e 33.7.3.\u003cbr\u003e Exécutez ProcExp.exe et notepad.exe\u003cbr\u003e 33.7.4.\u003cbr\u003e Exécutez HideProc2.exe -afficher\u003cbr\u003e 33.8.\u003cbr\u003e Analyse du code source\u003cbr\u003e 33.8.1.\u003cbr\u003e HideProc2.cpp\u003cbr\u003e 33.8.2.\u003cbr\u003e stealth2.cpp\u003cbr\u003e 33.9.\u003cbr\u003e Interception d'API par patch à chaud\u003cbr\u003e 33.9.1.\u003cbr\u003e Problèmes liés aux méthodes de correction de code API existantes\u003cbr\u003e 33.9.2.\u003cbr\u003e Correctif à chaud (correctif de code de 7 octets)\u003cbr\u003e 33.10.\u003cbr\u003e Exercice n° 3 - stealth3.dll\u003cbr\u003e 33.11.\u003cbr\u003e Analyse du code source\u003cbr\u003e 33.11.1.\u003cbr\u003e Stealth3.cpp\u003cbr\u003e 33.12.\u003cbr\u003e Considérations relatives à l'interception d'API par correctif à chaud\u003cbr\u003e 33.12.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e 34.1.\u003cbr\u003e Interception de l'API cible\u003cbr\u003e 34.1.1.\u003cbr\u003e Vérification ? Débogage des processus IE\u003cbr\u003e 34.2. Structure du processus IE\u003cbr\u003e 34.3.\u003cbr\u003e Concepts d'interconnexion d'API globales\u003cbr\u003e 34.3.1.\u003cbr\u003e Interconnexion générale d'API\u003cbr\u003e 34.3.2.\u003cbr\u003e Interconnexion globale de l'API\u003cbr\u003e 34.4.\u003cbr\u003e API ntdll!ZwResumeThread()\u003cbr\u003e 34,5.\u003cbr\u003e Exemple pratique ? Contrôle d’accès IE\u003cbr\u003e 34.5.1. Exécution d'IE  \u003cbr\u003e34.5.2. Injection de DLL\u003cbr\u003e 34.5.3.\u003cbr\u003e Créer un nouvel onglet\u003cbr\u003e 34.5.4.\u003cbr\u003e Accédez au site portail\u003cbr\u003e 34.5.5. Éjection de la DLL\u003cbr\u003e 34.5.6.\u003cbr\u003e Pratique supplémentaire\u003cbr\u003e 34.6.\u003cbr\u003e Exemple de code source\u003cbr\u003e 34.6.1.\u003cbr\u003e DllMain()\u003cbr\u003e 34.6.2.\u003cbr\u003e NewInternetConnectW( )\u003cbr\u003e 34.6.3.\u003cbr\u003e NewZwResumeThread()\u003cbr\u003e 34.7.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 35 : Cinq critères pour choisir un bon outil d’analyse\u003cbr\u003e 35.1.\u003cbr\u003e équipement\u003cbr\u003e 35.2.\u003cbr\u003e Ingénieur en rétro-ingénierie\u003cbr\u003e 35.3.\u003cbr\u003e 5 critères pour choisir un bon outil d'analyse\u003cbr\u003e 35.3.1.\u003cbr\u003e Réduisez le nombre d'outils.\u003cbr\u003e\u003cbr\u003e 35.3.2.\u003cbr\u003e Il est bon que les outils aient des fonctions simples et soient faciles à utiliser.\u003cbr\u003e\u003cbr\u003e 35.3.3.\u003cbr\u003e Apprenez les fonctions en détail.\u003cbr\u003e\u003cbr\u003e 35.3.4.\u003cbr\u003e Il est mis à jour régulièrement.\u003cbr\u003e\u003cbr\u003e 35.3.5.\u003cbr\u003e Comprendre les principes de fonctionnement fondamentaux de l'outil.\u003cbr\u003e\u003cbr\u003e 35.4.\u003cbr\u003e L'importance de la compétence\u003cbr\u003e Partie 5 : Noyau 6 de Windows 6 (64 bits)\u003cbr\u003e\u003cbr\u003e Chapitre 36 : Informatique 64 bits\u003cbr\u003e 36.1.\u003cbr\u003e environnement informatique 64 bits\u003cbr\u003e 36.1.1.\u003cbr\u003e Processeur 64 bits\u003cbr\u003e 36.1.2.\u003cbr\u003e Système d'exploitation 64 bits\u003cbr\u003e 36.1.3.\u003cbr\u003e API Win32\u003cbr\u003e 36.1.4. WOW64\u003cbr\u003e 36.1.5.\u003cbr\u003e Exercice - WOW64Test\u003cbr\u003e 36.2.\u003cbr\u003e version 64 bits\u003cbr\u003e 36.2.1.\u003cbr\u003e Kit de développement logiciel (SDK) Microsoft Windows\u003cbr\u003e 36.2.2.\u003cbr\u003e Configuration de Visual C++ 2010 Express\u003cbr\u003e\u003cbr\u003e Chapitre 37 : L'histoire du processeur x64\u003cbr\u003e 37.1. \u003cbr\u003eQu'est-ce qui a été ajouté\/modifié dans x64 ?\u003cbr\u003e 37.1.1.\u003cbr\u003e 64 bits\u003cbr\u003e 37.1.2.\u003cbr\u003e mémoire\u003cbr\u003e 37.1.3.\u003cbr\u003e Registres à usage général en x64\u003cbr\u003e 37.1.4. Instructions d'appel\/de saut\u003cbr\u003e 37.1.5.\u003cbr\u003e conventions d'appel de fonction\u003cbr\u003e 37.1.6.\u003cbr\u003e Empiler et cadre d'empilage\u003cbr\u003e 37.2.\u003cbr\u003e Exercices - Stack64.exe et Stack32.exe\u003cbr\u003e 37.2.1.\u003cbr\u003e Stack32.exe\u003cbr\u003e 37.2.2.\u003cbr\u003e Stack64.exe\u003cbr\u003e 37.2.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 38 PE32+\u003cbr\u003e 38.1. PE32+ (PE+, PE64)\u003cbr\u003e 38.1.1. IMAGE_NT_HEADERS\u003cbr\u003e 38.1.2. EN-TÊTE_FICHIER_IMAGE\u003cbr\u003e 38.1.3. IMAGE_OPTIONAL_HEADER\u003cbr\u003e 38.1.4. IMAGE_THUNK_DATA\u003cbr\u003e 38.1.5. IMAGE_TLS_DIRECTORY64\u003cbr\u003e\u003cbr\u003e Chapitre 39 WinDbg\u003cbr\u003e 39.1.\u003cbr\u003e WinDbg\u003cbr\u003e 39.1.1.\u003cbr\u003e Fonctionnalités de WinDbg\u003cbr\u003e 39.1.2.\u003cbr\u003e Exécution de WinDbg\u003cbr\u003e 39.1.3.\u003cbr\u003e Débogage du noyau\u003cbr\u003e 39.1.4.\u003cbr\u003e Commandes de base de WinDbg\u003cbr\u003e\u003cbr\u003e Chapitre 40 Débogage 64 bits\u003cbr\u003e 40.1.\u003cbr\u003e Sélection du débogueur dans les environnements x64 627\u003cbr\u003e 40.2.\u003cbr\u003e Débogage 64 bits 628\u003cbr\u003e 40.2.1.\u003cbr\u003e Exemple concret ? Test WOW64\u003cbr\u003e 40.3. PE32:WOW64Test_x86.exe\u003cbr\u003e 40.3.1. Code EP\u003cbr\u003e 40.3.2.\u003cbr\u003e Code de démarrage\u003cbr\u003e 40.3.3.\u003cbr\u003e fonction principale()\u003cbr\u003e 40.4. PE32+ : WOW64Test_x64.exe\u003cbr\u003e 40.4.1.\u003cbr\u003e Point d'arrêt du système\u003cbr\u003e 40.4.2. Code EP\u003cbr\u003e 40.4.3.\u003cbr\u003e Code de démarrage\u003cbr\u003e 40.4.4.\u003cbr\u003e fonction principale()\u003cbr\u003e 40,5.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 41 ASLR\u003cbr\u003e 41.1.\u003cbr\u003e Version du noyau Windows\u003cbr\u003e 41.2. ASLR\u003cbr\u003e 41.3.\u003cbr\u003e Visual C++  \u003cbr\u003e41.4. ASLR.exe\u003cbr\u003e 41.4.1.\u003cbr\u003e Informations sur la section\u003cbr\u003e 41.4.2. Caractéristiques de l'en-tête du fichier image\u003cbr\u003e 41.4.3. Caractéristiques de la DLL IMAGE_OPTIONAL_HEADER\u003cbr\u003e 41,5.\u003cbr\u003e Exercice - Suppression de la fonction ASLR\u003cbr\u003e 41.5.1. Suppression de la fonction ASLR\u003cbr\u003e\u003cbr\u003e Chapitre 42 Session dans le noyau 6\u003cbr\u003e 42.1.\u003cbr\u003e session\u003cbr\u003e 42.2.\u003cbr\u003e Isolement de la session 0\u003cbr\u003e 42.3.\u003cbr\u003e Sécurité renforcée\u003cbr\u003e\u003cbr\u003e Chapitre 43 : Injection de DLL dans le noyau 6\u003cbr\u003e 43.1. Reproduction de l'échec d'injection DLL\u003cbr\u003e 43.1.1.\u003cbr\u003e Code source\u003cbr\u003e 43.1.2.\u003cbr\u003e test d'injection\u003cbr\u003e 43.2.\u003cbr\u003e Analyse des causes\u003cbr\u003e 43.2.1.\u003cbr\u003e Débogage n° 1\u003cbr\u003e 43.2.2.\u003cbr\u003e Débogage n° 2\u003cbr\u003e 43.3.\u003cbr\u003e Exercice - Comment faire en sorte que CreateRemoteThread() réussisse\u003cbr\u003e 43.3.1.\u003cbr\u003e Méthode n° 1 - Modifier le paramètre CreateSuspended\u003cbr\u003e 43.3.2.\u003cbr\u003e Méthode n° 2 - Branchement conditionnel\u003cbr\u003e 43.4.\u003cbr\u003e Résumé simple\u003cbr\u003e 43,5.\u003cbr\u003e InjectDll_new.exe\u003cbr\u003e 43.5.1.\u003cbr\u003e InjectDll_new.cpp\u003cbr\u003e 43.5.2.\u003cbr\u003e Pratique de l'injection\u003cbr\u003e\u003cbr\u003e Chapitre 44 InjDll.exe - Outil d'injection de DLL\u003cbr\u003e 44.1.\u003cbr\u003e InjDll.exe\u003cbr\u003e 44.1.1.\u003cbr\u003e Comment utiliser\u003cbr\u003e 44.1.2.\u003cbr\u003e Exemples d'utilisation\u003cbr\u003e 44.1.3.\u003cbr\u003e prudence\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePartie 6 Marche arrière avancée\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Chapitre 45 Fonction de rappel TLS\u003cbr\u003e 45.1.\u003cbr\u003e Exercice n° 1 - HelloTls.exe\u003cbr\u003e 45.2. TLS\u003cbr\u003e 45.2.1. RÉPERTOIRE_DES_DONNÉES_IMAGE[9]\u003cbr\u003e 45.2.2. RÉPERTOIRE_TLS_IMAGE\u003cbr\u003e 45.2.3.\u003cbr\u003e Tableau d'adresses de fonctions de rappel  \u003cbr\u003e45.3. Fonction de rappel TLS\u003cbr\u003e 45.3.1. IMAGE_TLS_CALLBACK\u003cbr\u003e 45.4.\u003cbr\u003e Exercice n° 2 - TlsTest.exe\u003cbr\u003e 45.4.1. DLL_PROCESS_ATTACH\u003cbr\u003e 45.4.2. DLL_THREAD_ATTACH\u003cbr\u003e 45.4.3. DLL_THREAD_DETACH\u003cbr\u003e 45.4.4. DLL_PROCESS_DETACH\u003cbr\u003e 45.5. Débogage des rappels TLS\u003cbr\u003e 45.6.\u003cbr\u003e Ajout manuel d'une fonction de rappel TLS\u003cbr\u003e 45.6.1.\u003cbr\u003e Matériel d'entraînement\u003cbr\u003e 45.6.2.\u003cbr\u003e conception\u003cbr\u003e 45.6.3. Modification de l'en-tête PE\u003cbr\u003e 45.6.4. Configuration de IMAGE_TLS_DIRECTORY\u003cbr\u003e 45.6.5. Programmation des fonctions de rappel TLS\u003cbr\u003e 45.6.6.\u003cbr\u003e Achèvement final\u003cbr\u003e 45.7.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 46 TEB\u003cbr\u003e 46.1. TEB\u003cbr\u003e 46.1.1. Définition de la structure TEB\u003cbr\u003e 46.1.2. Contenu de la structure TEB\u003cbr\u003e 46.1.3.\u003cbr\u003e membres importants\u003cbr\u003e 46.2. Approche TEB\u003cbr\u003e 46.2.1.\u003cbr\u003e Ntdll.NtCurrentTeb ( )\u003cbr\u003e 46.2.2. Registre de segment FS\u003cbr\u003e 46.3.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 47 PEB\u003cbr\u003e 47.1. PEB\u003cbr\u003e 47.1.1. Approche PEB\u003cbr\u003e 47.1.2. Définition de la structure PEB\u003cbr\u003e 47.1.3. Contenu de la structure PEB\u003cbr\u003e 47.2. Description des principaux membres du PEB\u003cbr\u003e 47.2.1. PEB.En cours de débogage\u003cbr\u003e 47.2.2. PEB.ImageBaseAddress\u003cbr\u003e 47.2.3. PEB.Ldr\u003cbr\u003e 47.2.4. PEB.ProcessHeap \u0026amp; PEB.NtGlobalFlag\u003cbr\u003e 47.3.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 48 SEH\u003cbr\u003e 48.1. SEH\u003cbr\u003e 48.1.1.\u003cbr\u003e Description de base\u003cbr\u003e 48.2. Exemple d'exercice SEH n° 1\u003cbr\u003e 48.2.1.\u003cbr\u003e Exécution normale\u003cbr\u003e 48.2.2.\u003cbr\u003e Exécuter dans le débogueur  \u003cbr\u003e48.3. Comment le système d'exploitation gère les exceptions\u003cbr\u003e 48.3.1.\u003cbr\u003e Comment gérer les exceptions lors d'une exécution normale\u003cbr\u003e 48.3.2.\u003cbr\u003e Comment gérer les exceptions lors du débogage\u003cbr\u003e 48.4.\u003cbr\u003e exception\u003cbr\u003e 48.4.1. EXCEPTION_VIOLATION_D'ACCÈS(C0000005)\u003cbr\u003e 48.4.2. EXCEPTION_BREAKPOINT(80000003)\u003cbr\u003e 48.4.3. EXCEPTION_INSTRUCTION_ILLÉGALE(C000001D)\u003cbr\u003e 48.4.4. EXCEPTION_INT_DIVIDE_BY_ZERO(C0000094)\u003cbr\u003e 48.4.5. EXCEPTION_SINGLE_STEP(80000004)\u003cbr\u003e 48.5. Description détaillée du SEH\u003cbr\u003e 48.5.1. Chaîne SEH\u003cbr\u003e 48.5.2.\u003cbr\u003e Définition de fonction\u003cbr\u003e 48.5.3. TEB.NtTib.ExceptionList\u003cbr\u003e 48.5.4. Comment installer SEH\u003cbr\u003e 48.6. Exemple pratique SEH n° 2 (seh.exe)\u003cbr\u003e 48.6.1. Vérification de la chaîne SEH\u003cbr\u003e 48.6.2. Ajout de SEH\u003cbr\u003e 48.6.3.\u003cbr\u003e Une exception s'est produite.\u003cbr\u003e 48.6.4.\u003cbr\u003e Vérifier les paramètres du gestionnaire d'exceptions\u003cbr\u003e 48.6.5.\u003cbr\u003e Gestionnaires d'exceptions de débogage\u003cbr\u003e 48.6.6. Suppression du SEH\u003cbr\u003e 48.7.\u003cbr\u003e Configuration des options d'OllyDbg\u003cbr\u003e 48.7.1. Ignorer les exceptions KERNEL32\u003cbr\u003e 48.7.2.\u003cbr\u003e Transmettez les exceptions au débogueur\u003cbr\u003e 48.7.3.\u003cbr\u003e Gestion des autres exceptions\u003cbr\u003e 48.7.4.\u003cbr\u003e Pratique simple\u003cbr\u003e 48.8.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 49 IA-32 Instructions\u003cbr\u003e 49.1. Instructions IA-32\u003cbr\u003e 49.2.\u003cbr\u003e Glossaire des termes\u003cbr\u003e 49.2.1.\u003cbr\u003e Désassembleur\u003cbr\u003e 49.2.2.\u003cbr\u003e Décompilateur\u003cbr\u003e 49.2.3.\u003cbr\u003e Une brève introduction à la décompilation\u003cbr\u003e 49.3. Format d'instruction IA-32  \u003cbr\u003e49.3.1.\u003cbr\u003e Préfixes d'instructions\u003cbr\u003e 49.3.2.\u003cbr\u003e Opcode\u003cbr\u003e 49.3.3.\u003cbr\u003e ModR\/M\u003cbr\u003e 49.3.4. SIB\u003cbr\u003e 49.3.5.\u003cbr\u003e Déplacement\u003cbr\u003e 49.3.6.\u003cbr\u003e Immédiat\u003cbr\u003e 49.4.\u003cbr\u003e Manuel d'interprétation des instructions\u003cbr\u003e 49.4.1. Téléchargez les manuels IA-32\u003cbr\u003e 49.4.2.\u003cbr\u003e Sortie du manuel d'interprétation des instructions\u003cbr\u003e 49,5.\u003cbr\u003e Exercices d'interprétation des instructions\u003cbr\u003e 49.5.1.\u003cbr\u003e Carte des codes d'opération\u003cbr\u003e 49.5.2.\u003cbr\u003e Opérande\u003cbr\u003e 49.5.3.\u003cbr\u003e ModR\/M\u003cbr\u003e 49.5.4.\u003cbr\u003e Groupe\u003cbr\u003e 49.5.5.\u003cbr\u003e Préfixe\u003cbr\u003e 49.5.6.\u003cbr\u003e Code d'opération sur 2 octets\u003cbr\u003e 49.5.7.\u003cbr\u003e Déplacement et immédiat\u003cbr\u003e 49.5.8. SIB\u003cbr\u003e 49.6.\u003cbr\u003e Instructions d'interprétation supplémentaires\u003cbr\u003e 49.7.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePartie 7 : Anti-débogage\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Chapitre 50 Anti-débogage\u003cbr\u003e 50.1.\u003cbr\u003e Techniques anti-débogage\u003cbr\u003e 50.1.1.\u003cbr\u003e Dépendance\u003cbr\u003e 50.1.2.\u003cbr\u003e Diverses techniques\u003cbr\u003e 50.2.\u003cbr\u003e Techniques anti-anti-débogage\u003cbr\u003e 50.3.\u003cbr\u003e Classification anti-débogage\u003cbr\u003e 50.3.1.\u003cbr\u003e Anti-débogage statique\u003cbr\u003e 50.3.2.\u003cbr\u003e Anti-débogage dynamique\u003cbr\u003e\u003cbr\u003e Chapitre 51 : Antidébogage statique\u003cbr\u003e 51.1.\u003cbr\u003e Objectif de l'antidébogage statique\u003cbr\u003e 51.2. PEB\u003cbr\u003e 51.2.1.\u003cbr\u003e En cours de débogage (+0x2)\u003cbr\u003e 51.2.2.\u003cbr\u003e Ldr (+0xC)\u003cbr\u003e 51.2.3.\u003cbr\u003e Tas de processus (+0x18)\u003cbr\u003e 51.2.4.\u003cbr\u003e NtGlobalFlag(+0x68)\u003cbr\u003e 51.2.5.\u003cbr\u003e Exercice - StaAD_PEB.exe\u003cbr\u003e 51.2.6.\u003cbr\u003e Comment éviter\u003cbr\u003e 51.3.\u003cbr\u003e Processus d'information NtQuery()\u003cbr\u003e 51.3.1.\u003cbr\u003e ProcessDebugPort(0x7)\u003cbr\u003e 51.3.2.\u003cbr\u003e ProcessDebugObjectHandle(0x1E)  \u003cbr\u003e51.3.3.\u003cbr\u003e ProcessDebugFlags(0x1F)\u003cbr\u003e 51.3.4.\u003cbr\u003e Exercice - StaAD_NtQIP.exe\u003cbr\u003e 51.3.5.\u003cbr\u003e Comment éviter\u003cbr\u003e 51.4.\u003cbr\u003e NtQuerySystemInformation ( )\u003cbr\u003e 51.4.1.\u003cbr\u003e Informations du débogueur du noyau système (0x23)\u003cbr\u003e 51.4.2.\u003cbr\u003e Exercice - StaAD_NtQSI.exe\u003cbr\u003e 51.4.3.\u003cbr\u003e Comment éviter\u003cbr\u003e 51,5.\u003cbr\u003e NtQueryObject()\u003cbr\u003e 51.5.1.\u003cbr\u003e Exercice - StaAD_NtQO.exe\u003cbr\u003e 51.6.\u003cbr\u003e ZwSetInformationThread()\u003cbr\u003e 51.6.1.\u003cbr\u003e Exercice - StaAD_ZwSIT.exe\u003cbr\u003e 51.6.2.\u003cbr\u003e Comment éviter\u003cbr\u003e 51.7. Fonction de rappel TLS\u003cbr\u003e 51.8. ETC\u003cbr\u003e 51.8.1.\u003cbr\u003e Pratique - StaAD_FindWindow.exe\u003cbr\u003e 51.8.2.\u003cbr\u003e Comment éviter\u003cbr\u003e 51.9.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 52 : Anti-débogage dynamique\u003cbr\u003e 52.1.\u003cbr\u003e Objectif du code anti-débogage dynamique\u003cbr\u003e 52.2.\u003cbr\u003e Exceptions\u003cbr\u003e 52.2.1. SEH\u003cbr\u003e 52.2.2.\u003cbr\u003e DéfinirFiltreExceptionNonGérée()\u003cbr\u003e 52.3.\u003cbr\u003e Vérification du timing\u003cbr\u003e 52.3.1.\u003cbr\u003e Comment mesurer les intervalles de temps\u003cbr\u003e 52.3.2. RDTSC\u003cbr\u003e 52.4.\u003cbr\u003e Drapeau de piège\u003cbr\u003e 52.4.1.\u003cbr\u003e Étape unique\u003cbr\u003e 52.4.2. INT 2D\u003cbr\u003e 52,5.\u003cbr\u003e Détection 0xCC\u003cbr\u003e 52.5.1. Points d'arrêt de l'API\u003cbr\u003e 52.5.2.\u003cbr\u003e comparaison de sommes de contrôle\u003cbr\u003e 52.6.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 53 : Anti-débogage avancé\u003cbr\u003e 53.1.\u003cbr\u003e Techniques anti-débogage avancées\u003cbr\u003e 53.2.\u003cbr\u003e Code poubelle\u003cbr\u003e 53.3.\u003cbr\u003e Rupture de l'alignement du code\u003cbr\u003e 53.4.\u003cbr\u003e Chiffrement\/Déchiffrement\u003cbr\u003e 53.4.1.\u003cbr\u003e Pour les codes de décodage simples\u003cbr\u003e 53.4.2. \u003cbr\u003ePour les codes de décodage complexes\u003cbr\u003e 53.4.3.\u003cbr\u003e Cas particulier - recombinaison de code\u003cbr\u003e 53,5.\u003cbr\u003e Octets volés (Supprimer OEP)\u003cbr\u003e 53.6. Redirection API\u003cbr\u003e 53.6.1.\u003cbr\u003e Code original\u003cbr\u003e 53.6.2. Exemple de redirection d'API n° 1\u003cbr\u003e 53.6.3. Exemple de redirection d'API n° 2\u003cbr\u003e 53.7.\u003cbr\u003e Bloqueur de débogage (autodébogage)\u003cbr\u003e 53.8.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePartie 8 : Exercices de débogage\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Chapitre 54 Exercice de débogage 1 - Services\u003cbr\u003e 54.1.\u003cbr\u003e Fonctionnement du processus de service\u003cbr\u003e 54.1.1.\u003cbr\u003e Contrôleur de service\u003cbr\u003e 54.1.2.\u003cbr\u003e Comprendre le processus de démarrage du service\u003cbr\u003e 54.2.\u003cbr\u003e Exemple de description de DebugMe1.exe\u003cbr\u003e 54.2.1.\u003cbr\u003e Installation de service\u003cbr\u003e 54.2.2.\u003cbr\u003e Démarrage du service\u003cbr\u003e 54.2.3.\u003cbr\u003e Code source\u003cbr\u003e 54.3.\u003cbr\u003e Débogage des problèmes dans le processus de service\u003cbr\u003e 54.3.1.\u003cbr\u003e Le problème réside dans la gestion de la chaîne d'approvisionnement (SCM).\u003cbr\u003e 54.3.2.\u003cbr\u003e Il n'y a rien qu'un débogueur ne puisse faire.\u003cbr\u003e 54.3.3.\u003cbr\u003e Faisons-le correctement.\u003cbr\u003e 54.4.\u003cbr\u003e Pratique de débogage de service\u003cbr\u003e 54.4.1.\u003cbr\u003e Débogage simple - forcer la configuration EIP\u003cbr\u003e 54.4.2.\u003cbr\u003e Principes de base du débogage des services - Méthode Attach\u003cbr\u003e 54,5.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 55 : Exercice de débogage 2 - Auto-création\u003cbr\u003e 55.1.\u003cbr\u003e Auto-création\u003cbr\u003e 55.2.\u003cbr\u003e Comment ça marche\u003cbr\u003e 55.2.1.\u003cbr\u003e Créer un processus enfant (mode SUSPEND)\u003cbr\u003e 55.2.2.\u003cbr\u003e Modifier le programme d'investissement européen\u003cbr\u003e 55.2.3.\u003cbr\u003e Reprendre le fil principal\u003cbr\u003e 55.3. \u003cbr\u003eExplication de l'exemple de code source\u003cbr\u003e 55.4.\u003cbr\u003e Pratique du débogage\u003cbr\u003e 55.4.1.\u003cbr\u003e Considérations\u003cbr\u003e 55.4.2. Débogage juste-à-temps\u003cbr\u003e 55.4.3.\u003cbr\u003e DebugMe2.exe\u003cbr\u003e 55,5.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 56 Exercice de débogage 3 - Commutation d'image PE\u003cbr\u003e 56.1. Image PE\u003cbr\u003e 56.2. Commutation d'images PE\u003cbr\u003e 56.3.\u003cbr\u003e Exemples de fichiers : Fake.exe, Real.exe, DebugMe3.exe\u003cbr\u003e 56.4.\u003cbr\u003e Débogage 1\u003cbr\u003e 56.4.1.\u003cbr\u003e Ouvrir - Saisir les paramètres d'exécution\u003cbr\u003e 56.4.2.\u003cbr\u003e principal( )\u003cbr\u003e 56.4.3.\u003cbr\u003e Sous-fonction_1 ( )\u003cbr\u003e 56.4.4.\u003cbr\u003e CréerProcessus(\"fake.exe\", CRÉATION_SUSPENDUE)\u003cbr\u003e 56.4.5.\u003cbr\u003e SubFunc_2 ( )\u003cbr\u003e 56.4.6.\u003cbr\u003e SubFunc_3 ( )\u003cbr\u003e 56,5.\u003cbr\u003e Débogage 2\u003cbr\u003e 56.5.1.\u003cbr\u003e Idée\u003cbr\u003e 56.5.2. Installation d'une boucle infinie dans EP\u003cbr\u003e 56.6.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e Chapitre 57 Exercice de débogage 4 - Blocage du débogage\u003cbr\u003e 57.1.\u003cbr\u003e Bloqueur de débogage\u003cbr\u003e 57.2.\u003cbr\u003e Fonctionnalités anti-débogage\u003cbr\u003e 57.2.1.\u003cbr\u003e relation parent-enfant\u003cbr\u003e 57.2.2.\u003cbr\u003e Le processus à déboguer ne peut pas être débogué par d'autres débogueurs (par exemple OllyDbg).\u003cbr\u003e\u003cbr\u003e 57.2.3.\u003cbr\u003e Lorsque vous terminez le processus du débogueur, le processus débogué est également terminé simultanément.\u003cbr\u003e\u003cbr\u003e 57.2.4.\u003cbr\u003e Manipulez le code du débogueur dans le débogueur.\u003cbr\u003e\u003cbr\u003e 57.2.5.\u003cbr\u003e Gérez les exceptions dans le débogueur.\u003cbr\u003e\u003cbr\u003e 57.2. \u003cbr\u003eExercices de débogage - DebugMe4.exe\u003cbr\u003e 57.3.\u003cbr\u003e 1ère tentative\u003cbr\u003e 57.3.1.\u003cbr\u003e Choisir un emplacement de démarrage pour le débogage\u003cbr\u003e 57.3.2.\u003cbr\u003e principal( )\u003cbr\u003e 57.4.\u003cbr\u003e 2ème tentative\u003cbr\u003e 57,5.\u003cbr\u003e 3ème tentative\u003cbr\u003e 57.6.\u003cbr\u003e 4ème tentative\u003cbr\u003e 57.7.\u003cbr\u003e 5ème tentative\u003cbr\u003e 57.7.1.\u003cbr\u003e Point de rupture du système\u003cbr\u003e 57.7.2. EXCEPTION_INSTRUCTION_ILLÉGALE (1)\u003cbr\u003e 57.7.3. EXCEPTION_INSTRUCTION_ILLÉGALE (2)\u003cbr\u003e 57.8.\u003cbr\u003e 6ème tentative\u003cbr\u003e 57.8.1.\u003cbr\u003e 40121D (première exception)\u003cbr\u003e 57.8.2.\u003cbr\u003e 401299 (deuxième exception)\u003cbr\u003e 57.9.\u003cbr\u003e 7ème tentative\u003cbr\u003e 57.9.1.\u003cbr\u003e Méthode statique\u003cbr\u003e 57.9.2.\u003cbr\u003e Méthode dynamique\u003cbr\u003e 57.10.\u003cbr\u003e finition\u003cbr\u003e\u003cbr\u003e \u003cb\u003ePour conclure le livre\u003c\/b\u003e\u003cbr\u003e 1.\u003cbr\u003e Créativité et expérience (Baduk et Janggi - Programmation et rétro-ingénierie)\u003cbr\u003e Baduk et Janggi\u003cbr\u003e Programmation et rétro-ingénierie\u003cbr\u003e 2.\u003cbr\u003e À mes lecteurs…\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e \",\"\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eAvis de l'éditeur\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eContient tous les principes clés que tout inverseur doit connaître !\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Le reverse engineering est une technique qui permet d'examiner en profondeur le fonctionnement interne d'un programme et de le manipuler.\u003cbr\u003e Cela peut être utilisé comme méthode de piratage car il est possible d'utiliser des logiciels commerciaux que nous utilisons couramment. \u003cbr\u003eCependant, la rétro-ingénierie est aussi une spécialité des analystes de logiciels malveillants, également appelés « inverseurs ».\u003cbr\u003e Surtout, les techniques de rétro-ingénierie ne sont pas seulement utilisées dans une bataille entre pirates informatiques et experts en sécurité.\u003cbr\u003e Si vous maîtrisez bien la rétro-ingénierie, vous pouvez identifier des bugs ou des vulnérabilités qui n'ont pas été découverts lors de la phase de développement\/test, et vous pouvez résoudre les problèmes en accédant directement aux fichiers ou à la mémoire.\u003cbr\u003e Il est également très utile car il permet d'améliorer les fonctionnalités du programme en ajoutant des fonctionnalités entièrement nouvelles.\u003cbr\u003e\u003cbr\u003e Ce livre explique méticuleusement, à travers plus de 50 chapitres, les principes fondamentaux nécessaires à l'« inversion », qui rendent possibles de telles choses magiques.\u003cbr\u003e Surtout, l'auteur a écrit une variété de codes basés sur sa longue expérience chez AhnLab, tout en présentant en détail diverses techniques de rétro-ingénierie que tout spécialiste de la rétro-ingénierie se doit de connaître ; cet ouvrage est donc utile non seulement aux développeurs qui rêvent de devenir des spécialistes de la rétro-ingénierie, mais aussi à toute personne possédant une expérience pratique.\u003cbr\u003e\u003cbr\u003e \u003cbr\u003eAvant tout, ce livre s'attache à expliquer les techniques d'inversion et leurs principes de fonctionnement.\u003cbr\u003e Autrement dit, cet ouvrage va au-delà d'une simple introduction aux techniques d'inversion et vise à aider les lecteurs à comprendre les principes fondamentaux de chaque technique.\u003cbr\u003e Grâce à cela, vous pouvez non seulement bâtir des bases solides, mais aussi acquérir l'essence d'une compétence dont la valeur ne change pas avec le temps.\u003cbr\u003e Si vous souhaitez explorer le monde de la marche arrière, ce livre sera votre guide idéal !\u003cbr\u003e\u003cbr\u003e \u003cb\u003eContenu principal\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Registre IA-32\u003cbr\u003e Débogage\u003cbr\u003e fissure\u003cbr\u003e Format de fichier PE\u003cbr\u003e Compression exécutable\u003cbr\u003e Tableau de relocalisation de base\u003cbr\u003e Pratique du patch en ligne\u003cbr\u003e Interception des messages Windows\u003cbr\u003e Injection de DLL\u003cbr\u003e Éjection de DLL\u003cbr\u003e Injection de code\u003cbr\u003e Interconnexion API\u003cbr\u003e Processus furtif\u003cbr\u003e Interconnexion globale de l'API\u003cbr\u003e Informatique 64 bits\u003cbr\u003e ASLR\u003cbr\u003e Session dans le noyau 6\u003cbr\u003e TEB\u003cbr\u003e PEB\u003cbr\u003e SEH\u003cbr\u003e Instructions IA-32\u003cbr\u003e Anti-débogage\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e \"]\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e SPÉCIFICATIONS DES PRODUITS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate de publication :\u003c\/strong\u003e 30 septembre 2012\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e \u003cstrong\u003eNombre de pages, poids, dimensions :\u003c\/strong\u003e 1 064 pages | 1 990 g | 188 × 240 × 60 mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13 :\u003c\/strong\u003e 9788966260522\u003c\/div\u003e\n\n \u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e- \u003cstrong\u003eISBN10 :\u003c\/strong\u003e 8966260527 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43890817466410,"sku":"162818","price":69.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/7a51bf770e91db543c78302d06e035a2.jpg?v=1765306206","url":"https:\/\/librairie.coreenne.fr\/products\/162818","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}