Python取證 - Python概述



用Python編寫的程式碼看起來與用其他傳統程式語言(如C或Pascal)編寫的程式碼非常相似。也有人說Python的語法大量借鑑了C語言。這包括許多與C語言相似的Python關鍵字。

Python包含條件語句和迴圈語句,可用於準確地提取取證資料。為了進行流程控制,它提供了if/elsewhile以及一個高階for語句,該語句迴圈遍歷任何“可迭代”物件。

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

Python與其他程式語言的主要區別在於它使用了動態型別。它使用引用物件的變數名。這些變數不需要宣告。

資料型別

Python包含一組內建資料型別,例如字串、布林值、數字等。還有不可變型別,這意味著在執行過程中無法更改的值。

Python還具有複合內建資料型別,包括元組(不可變陣列)、列表字典(雜湊表)。所有這些都用於數字取證中儲存收集證據時的值。

第三方模組和包

Python支援模組和/或包的組,也稱為第三方模組(將相關程式碼分組到單個原始檔中),用於組織程式。

Python包含一個廣泛的標準庫,這是它在計算取證中流行的主要原因之一。

Python程式碼的生命週期

  • 首先,當您執行Python程式碼時,直譯器會檢查程式碼是否存在語法錯誤。如果直譯器發現任何語法錯誤,則會立即將其顯示為錯誤訊息。

  • 如果沒有語法錯誤,則程式碼將被編譯以生成位元組碼併發送到PVM(Python虛擬機器)。

  • PVM檢查位元組碼是否存在任何執行時或邏輯錯誤。如果PVM發現任何執行時錯誤,則會立即將其報告為錯誤訊息。

  • 如果位元組碼沒有錯誤,則程式碼將被處理,您將獲得其輸出。

下圖以圖形方式顯示了Python程式碼如何首先被解釋以生成位元組碼,以及位元組碼如何被PVM處理以生成輸出。

Python Code Life Cycle
廣告