Python Forensics - Tổng quan về Python

Các mã được viết bằng Python trông khá giống với các mã được viết bằng các ngôn ngữ lập trình thông thường khác như C hoặc Pascal. Người ta cũng nói rằng cú pháp của Python được vay mượn rất nhiều từ C. Điều này bao gồm nhiều từ khóa Python tương tự như ngôn ngữ C.

Python bao gồm các câu lệnh điều kiện và vòng lặp, có thể được sử dụng để trích xuất dữ liệu một cách chính xác cho pháp y. Để kiểm soát dòng chảy, nó cung cấpif/else, whilevà cấp cao for câu lệnh lặp qua bất kỳ đối tượng "có thể lặp lại" nào.

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

Lĩnh vực chính mà Python khác với các ngôn ngữ lập trình khác là việc sử dụng dynamic typing. Nó sử dụng các tên biến tham chiếu đến các đối tượng. Các biến này không cần khai báo.

Loại dữ liệu

Python bao gồm một tập hợp các kiểu dữ liệu tích hợp sẵn như chuỗi, Boolean, số, v.v. Ngoài ra còn có các kiểu không thay đổi, có nghĩa là các giá trị không thể thay đổi trong quá trình thực thi.

Python cũng có các kiểu dữ liệu tích hợp sẵn bao gồm tuples là những mảng bất biến, listsdictionarieslà các bảng băm. Tất cả chúng đều được sử dụng trong pháp y kỹ thuật số để lưu trữ các giá trị trong khi thu thập bằng chứng.

Gói và Mô-đun của bên thứ ba

Python hỗ trợ các nhóm mô-đun và / hoặc gói còn được gọi là third-party modules (mã liên quan được nhóm lại với nhau trong một tệp nguồn duy nhất) được sử dụng để tổ chức các chương trình.

Python bao gồm một thư viện tiêu chuẩn mở rộng, đây là một trong những lý do chính cho sự phổ biến của nó trong pháp y tính toán.

Vòng đời của mã Python

  • Lúc đầu, khi bạn thực thi mã Python, trình thông dịch sẽ kiểm tra mã lỗi cú pháp. Nếu trình thông dịch phát hiện ra bất kỳ lỗi cú pháp nào, thì chúng được hiển thị ngay lập tức dưới dạng thông báo lỗi.

  • Nếu không có lỗi cú pháp, thì mã được biên dịch để tạo ra bytecode và được gửi đến PVM (Máy ảo Python).

  • PVM kiểm tra mã bytecode để tìm bất kỳ lỗi nào trong thời gian chạy hoặc lỗi logic. Trong trường hợp PVM tìm thấy bất kỳ lỗi thời gian chạy nào, thì chúng được báo cáo ngay lập tức dưới dạng thông báo lỗi.

  • Nếu bytecode không có lỗi, thì mã sẽ được xử lý và bạn nhận được đầu ra của nó.

Hình minh họa sau đây cho thấy bằng đồ họa cách mã Python được diễn giải đầu tiên để tạo ra một mã bytecode và cách mã bytecode được xử lý bởi PVM để tạo ra đầu ra.