Python Forensics - Présentation de Python

Les codes écrits en Python ressemblent assez aux codes écrits dans d'autres langages de programmation conventionnels tels que C ou Pascal. On dit également que la syntaxe de Python est fortement empruntée à C. Cela inclut de nombreux mots-clés Python qui sont similaires au langage C.

Python comprend des instructions conditionnelles et en boucle, qui peuvent être utilisées pour extraire les données avec précision à des fins d'investigation. Pour le contrôle de flux, il fournitif/else, while, et un haut niveau for instruction qui boucle sur n'importe quel objet "itérable".

if a < b: 
   max = b 
else: 
   max = a

Le principal domaine dans lequel Python diffère des autres langages de programmation réside dans son utilisation de dynamic typing. Il utilise des noms de variables qui font référence à des objets. Ces variables n'ont pas besoin d'être déclarées.

Types de données

Python inclut un ensemble de types de données intégrés tels que des chaînes, des booléens, des nombres, etc. Il existe également des types immuables, ce qui signifie les valeurs qui ne peuvent pas être modifiées pendant l'exécution.

Python a également des types de données intégrés composés qui incluent tuples qui sont des tableaux immuables, lists, et dictionariesqui sont des tables de hachage. Tous sont utilisés dans la criminalistique numérique pour stocker des valeurs tout en rassemblant des preuves.

Modules et packages tiers

Python prend en charge des groupes de modules et / ou de packages qui sont également appelés third-party modules (code associé regroupé dans un seul fichier source) utilisé pour organiser les programmes.

Python comprend une bibliothèque standard étendue, ce qui est l'une des principales raisons de sa popularité en criminalistique informatique.

Cycle de vie du code Python

  • Au début, lorsque vous exécutez un code Python, l'interpréteur vérifie le code pour les erreurs de syntaxe. Si l'interpréteur découvre des erreurs de syntaxe, elles s'affichent immédiatement sous forme de messages d'erreur.

  • S'il n'y a pas d'erreurs de syntaxe, le code est compilé pour produire un bytecode et envoyé à PVM (Python Virtual Machine).

  • Le PVM vérifie le bytecode pour toute erreur d'exécution ou logique. Si le PVM trouve des erreurs d'exécution, elles sont immédiatement signalées sous forme de messages d'erreur.

  • Si le bytecode est sans erreur, le code est traité et vous obtenez sa sortie.

L'illustration suivante montre de manière graphique comment le code Python est d'abord interprété pour produire un bytecode et comment le bytecode est traité par le PVM pour produire la sortie.