1. Trang chủ
  2. » Công Nghệ Thông Tin

Slide Tìm hiểu cấu trúc PE file

15 845 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 2,06 MB

Nội dung

Báo Cáo Lập trình hệ thống ghép nối thiết bị Đề tài: Tìm hiểu PE file Nhóm Thông Team thực hiện: Trần Văn Dũng Nguyễn Mạnh Ninh Lê Quang Long Ngô Văn Thỉnh Bùi Đức Thuận LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Nội Dung Giới thiệu chung PE file Cấu trúc PE file Kỹ thuật dịch ngược phần mềm Demo LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Giới thiệu chung  PE file gì?  PE từ viết tắt của Portable Executable  PE định dạng riêng của Win32  Định dạng được thiết kế bởi Microsoft vào năm 1993 được chuẩn hóa bởi Tool Interface Standard Committee (bao gồm Microsoft, Intel, Borland, Watcom, IBM tập đoàn khác)  Tất file thực thi được Win32 (ngoại trừ tập tin VxDs Dlls 16bit) sử dụng định dạng PE LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Giới thiệu chung  Lý có PE:  PE (Portable Executable) được chọn lựa mục đích phải có một định dạng file phổ biến (common file format) cho hầu hết loại hệ điều hành Windows, hầu hết loại CPUs hỗ trợ Windows chạy  Khi hệ điều hành muốn thực thi file PE, sẽ dùng trình gọi Windows Loader (hay còn gọi PE Loader) để tải file PE vào vùng nhớ (memory) Việc tải không đơn giản việc copy y nguyên file vào vùng nhớ, mà thực sắp đặt (mapping) dữ liệu file vào vùng nhớ Tức có số phần file PE đĩa (disk) sẽ không được mapping (sắp đặt) vào vùng nhớ LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Cấu trúc PE file  Dos header     Vùng DOS MZ header chiếm 64 bytes đầu tiên của file Được dùng bạn chạy file DOS DOS stub một chương trình DOS EXE nhỏ dung để hiển thị thông báo lỗi DOS stub thường sử dụng hàm của ngắt 21h để thông báo LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Cấu trúc PE file  Dos MZ header DOS Header một cấu trúc được định nghĩa sau: LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Cấu trúc PE file  PE header PE header một thuật ngữ chung đại diện cho cấu trúc IMAGE_NT_HEADERS:   Signature chứa những giá trị 50h, 45h, 00h, 00h FileHeader bao gồm 20 bytes tiếp theo, chứa thông tin sơ đồ bố trí vật lý những đặc tính của file  OptionalHeader luôn diện với 224 bytes tiếp theo, chứa thông tin sơ đồ Logic bên của file PE LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Cấu trúc PE file  PE header Signature File Header Optional Header LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Cấu trúc PE file  PE header => Data Directory Signature   Data Directory chiếm 128 bytes cuối cùng của OptionalHeader Data Directory mảng có 16 phần tử IMAGE_DATA_DIRECTORY: File Header Optional Header Data Directory LOGO Nhóm: Thông_Team - AT8B 6/7/16 Slide /15 Cấu trúc PE file  Section table    Section Table một mảng của những cấu trúc IMAGE_SECTION_HEADER Mỗi phần tử chứa thông tin của section PE file (thuộc tính, offset ảo) Số lượng sections chính được khai bào NumberOfSections phần FileHeader LOGO Nhóm: Thông_Team - AT8B 6/7/16 10 Slide /15 Cấu trúc PE file  PE File Sections  PE File Sections những sections chứa nội dung chính của file, bao gồm code, data, resources những thông tin khác của file thực thi  Mỗi sections có một Header một Body, phần Header được chứa Section Table phần body cấu trúc file cứng rắn  Một chương trình ứng dụng đặc thù HĐH Windows NT có section được định nghĩa trước có tên là: text, bss, rdata, rsrc, edata, idata, pdata debug LOGO Nhóm: Thông_Team - AT8B 6/7/16 11 Slide /15 Kỹ thuật dịch ngược phần mềm  Khái niệm   Là trình tìm kiếm, chia sẻ thông tin (nguyên lý, code…) hay thiết kế từ phần mềm ứng dụng Giúp ta phân tích tìm hiểu được cấu trúc của phần mềm nào, để phát triển sản phẩm hoàn thiện tương lai  Dịch ngược phần mềm cần kết hợp của kĩ hiểu biết máy tính phát triển phần mềm, chuẩn bị cần thiết ham hiểu biết kiên trì học hỏi  Tuy nhiên dịch ngược phương pháp mà hacker sử dụng để can thiệp vào phần mềm trái phép, làm thay đổi ý nghĩa công dụng của sản phẩm LOGO Nhóm: Thông_Team - AT8B 6/7/16 12 Slide /15 Kỹ thuật dịch ngược phần mềm  Một số phần mềm  OllyDBG: hay còn gọi tắt Olly công cụ debug phổ biến Nhờ giao diện trực quan dễ sử dụng nên Olly phù hợp với người dùng ở mọi trình độ khác   Net Reflector: sử dụng cho chương trình chạy tảng NET Framework IDA: công cụ disassembler debuger đa tảng, sử dụng tảng Windows, Linux or Mac OS X  Hex Editor: Trong trình thực công việc Reverse, ta cần đến công cụ Hex Editor để đọc chỉnh sửa file dưới định dạng hex  Một số công cụ khác: 010 Hex Editor (phần mềm trả phí), Winhex (phần mềm miễn phí), CFF Explorer VIII (1 chương trình nằm bộ công cụ Explorer Suite) LOGO Nhóm: Thông_Team - AT8B 6/7/16 13 Slide /15 Phần 4: Demo LOGO Nhóm: Thông_Team - AT8B 6/7/16 14 Slide /15 Thank You ! LOGO Nhóm: Thông_Team - AT8B 6/7/16 15 Slide /15 [...].. .Cấu trúc PE file  PE File Sections  PE File Sections là những sections chứa nội dung chính của file, bao gồm code, data, resources và những thông tin khác của file thực thi  Mỗi sections có một Header và một Body, phần Header thì được chứa trong Section Table nhưng phần body thì không có 1 cấu trúc file nào cứng rắn  Một chương trình ứng... Nhóm: Thông_Team - AT8B 6/7/16 11 Slide /15 Kỹ thuật dịch ngược phần mềm  Khái niệm   Là quá trình tìm kiếm, chia sẻ thông tin (nguyên lý, code…) hay thiết kế từ các phần mềm ứng dụng Giúp ta phân tích tìm hiểu được cấu trúc của phần mềm như thế nào, để phát triển sản phẩm hoàn thiện hơn trong tương lai  Dịch ngược phần mềm cần sự kết hợp của kĩ năng và cả hiểu biết về máy tính và phát... để đọc và chỉnh sửa các file dưới định dạng hex  Một số công cụ khác: 010 Hex Editor (phần mềm trả phí), Winhex (phần mềm miễn phí), CFF Explorer VIII (1 chương trình nằm trong bộ công cụ Explorer Suite) LOGO Nhóm: Thông_Team - AT8B 6/7/16 13 Slide /15 Phần 4: Demo LOGO Nhóm: Thông_Team - AT8B 6/7/16 14 Slide /15 Thank You ! LOGO Nhóm: Thông_Team - AT8B 6/7/16 15 Slide /15 ... cả hiểu biết về máy tính và phát triển phần mềm, sự chuẩn bị cần thiết nhất là sự ham hiểu biết và kiên trì học hỏi  Tuy nhiên dịch ngược cũng là phương pháp mà các hacker sử dụng để can thiệp vào phần mềm trái phép, làm thay đổi ý nghĩa công dụng của sản phẩm LOGO Nhóm: Thông_Team - AT8B 6/7/16 12 Slide /15 Kỹ thuật dịch ngược phần mềm  Một số phần mềm  OllyDBG: hay còn gọi tắt là

Ngày đăng: 07/06/2016, 19:33

TỪ KHÓA LIÊN QUAN

w