Đồ Án Tìm Hiểu Cấu Trúc File Thực Thi Trong Windows Và Vấn Đề Sửa Đổi Các Tài Nguyên Trên File

37 465 0
Đồ Án Tìm Hiểu Cấu Trúc File Thực Thi Trong Windows Và Vấn Đề Sửa Đổi Các Tài Nguyên Trên File

Đ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

BÁO CÁO ĐỒ ÁN MÔN HỌC C4W TÌM HIỂU CẤU TRÚC FILE THỰC THI TRONG WINDOWS VÀ VẤN ĐỀ SỬA ĐỔI CÁC TÀI NGUYÊN TRÊN FILE Sv thực : Phạm Trọng Tôn - Triệu Ngọc Toàn NỘI DUNG :  Phần 1: Giới thiệu đề tài chương trình VIETNAM Ease Controls  Phần 2: Tổng quan định dạng file thực thi PE (PE File Format)  Phần 3: Vấn đề truy xuất sửa đổi Resource file Phần : Giới thiệu đề tài chương trình VE Controls    Hiện nay, Việt Nam có nhiều ứng dụng viết hệ điều hành Windows hãng Microsoft Số ứng dụng chiếm khoảng 90% số phần mềm giới Phần lớn ứng dụng sử dụng ngôn ngữ tiếng Anh làm giao diện cho chương trình Rất chương trình có khả hỗ trợ đa ngôn ngữ đặc biệt Tiếng Việt Điều gây không khó khăn cho người không chuyên tin học sử dụng máy tính Đặc biệt máy tính tồn số thuật ngữ thông báo khó hiểu mà số người có trình độ tiếng Anh định gặp phải  Để khắc phục khó khăn phủ công ty phần mềm cố gắng xây dựng phần mềm giao diện tiếng Việt, nhằm phổ cập hoá CNTT phát triển ngành CNTT nước nhà Tuy nhiên cách tốn thường không hiệu chất lượng phần mềm nước chưa cao   VD : HĐH Vietkey Linux Việt Hóa từ HĐH Linux có mã nguồn mở Hiện mạng tồn số phần mềm thương mại cho phép người dùng sửa chữa lại giao diện chương trình từ file thực thi Resource Hacker, Restorator, PE Explorer… Với chương trình bạn phải sửa chữa từ file nhiều thời gian nhàm chán phải lặp lặp lại thao tác VEControls Bảng tra từ Thông tin file Với VEControls:     Việc Việt hóa controls chuẩn thực cách tự động dựa từ điển xây dựng sẵn Tiết kiệm nhiều thời gian so với cách làm thủ công, xác hiệu Thực sửa đổi file thực thi (không cần source code) cho kết file thực thi chạy Có khả mở rộng cho nhiều ngôn ngữ khác Điều làm tiết kiệm nhiều tiền bạc công sức cho việc địa hóa phần mềm Một số kết đạt Sau Việt hóa VEControls 10 Cấu trúc liệu node  IMAGE_RESOURCE_DIRECTORY typedef struct _IMAGE_RESOURCE_DIRECTORY { ULONG Characteristics; ULONG TimeDateStamp; USHORT MajorVersion; USHORT MinorVersion; USHORT NumberOfNamedEntries; USHORT NumberOfIdEntries; } IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY; 23 IMAGE_RESOURCE_DIRECTORY_ENTRY typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { ULONG Name; ULONG OffsetToData; } IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;  Name: Định danh resource, chuỗi chứa tên resource số  OffsetToData: Con trỏ tới node hay node 24 IMAGE_RESOUCE_DATA_ENTRY typedef struct _IMAGE_RESOURCE_DATA_ENTRY{ ULONG OffsetToData; ULONG Size; ULONG CodePage; ULONG Reserved; }IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;   OffsetToData: Chứa địa offset vùng liệu thật resource Size: Kích thước vùng liệu 25 Cấu trúc liệu Resource typedef struct _RESOURCE{ IMAGE_RESOURCE_DIRECTORY id; PIMAGE_RESOURCE_DIRECTORY_ENTRY *ie; PIMAGE_RESOURCE_DATA_ENTRY *de; char **data; struct _RESOURCE ** pres; WORD len; char *name; DWORD realsize; }RESOURCE; 26 Ví dụ minh họa 27 Hai loại resource :  Dialog Resource       Button Static text Check box, radio button Group box … control chuẩn khác Menu Resource    Popup menu item Normal menu item Nested menu 28 Dialog 100 DIALOG 0, 0, 235, 55 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_DLGFRAME CAPTION "About VECONTROL" LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US FONT 8, "MS Sans Serif" { ICON 128, -1, 11, 17, 20, 20 LTEXT "VECONTROL Version 1.0", -1, 40, 10, 119, 8, SS_NOPREFIX LTEXT "Copyright (C) 2003", -1, 40, 25, 119, DEFPUSHBUTTON "OK", 1, 178, 7, 50, 14, WS_GROUP } 29 Dialog Header: struct DialogBoxHeader { DWORD lStyle; DWORD lExtendedStyle; // new for NT WORD NumberOfItems; WORD x; WORD y; WORD cx; WORD cy; [Name or Ordinal] MenuName; [Name or Ordinal] ClassName; WCHAR szCaption[]; WORD wPointSize; // Only here if FONT set for dialog WCHAR szFontName[]; // This too }; 30 Control Data struct ControlData { DWORD lStyle; DWORD lExtendedStyle; WORD x; WORD y; WORD cx; WORD cy; WORD wId; [Name or Ordinal] ClassId; [Name or Ordinal] Text; WORD nExtraStuff; };  Để lấy đoạn text Control : CString s=CString((LPCWSTR)p);//p trỏ để duyệt vùng data 31 Menu 128 MENU LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US POPUP "&File" { MENUITEM "&New\tCtrl+N", 57600 MENUITEM "&Open \tCtrl+O", 57601 MENUITEM SEPARATOR MENUITEM "E&xit", 57665 } POPUP "&Help" { MENUITEM "&About VEControl ", 57664 } 32 Menu Item  Nomal Menu Item struct NormalMenuItem { WORD fItemFlags; WORD wMenuID; WCHAR szItemText[]; };   Popup Menu Item : kiểm tra giá trị cờ POPUP (fItemFlags & POPUP) Separator: normal menu item có fItemFlags=0, wMenuID=0, szItemText=NULL 33 Một số cờ sử dụng menu resource #define #define #define #define GRAYED 0x0001 // 'GRAYED' INACTIVE 0x0002 // 'INACTIVE' BITMAP 0x0004 // 'BITMAP' OWNERDRAW 0x0100 // 'OWNERDRAW' #define CHECKED 0x0008 // 'CHECKED' #define POPUP 0x0010 // #define MENUBARBREAK 0x0020 // 'MENUBARBREAK' #define MENUBREAK 0x0040 // 'MENUBREAK' #define ENDMENU 0x0080 // ‘ENDMENU' 34 Lưu trữ resource lên file  Là trình ngược lại với trình truy xuất resource  Tái tạo lại resource từ data mới, tính toán lại thay đổi địa kích thước directory  Ghi vào file mới, cập nhật lại thay đổi địa kích thước vùng header bên 35 Tài liệu tham khảo  MSDN :   Internet:      “The Portable Executable File Format from Top to Bottom” Randy Kath Microsoft Developer Network Technology Group “Resources and Decompiling Them” Written by Martin Lafaix “Win32 Binary Resource Formats” Author: Floyd Rogers “The Portable Excutable Format” Original version: Micheal J O'Leary (Microsoft) Others:    “Peering Inside the PE: A Tour of the Win32 Portable Executable File Format” Matt Pietrek - March 1994 “Microsoft Portable Excutable and common object file format specification” Microsoft Corp Revision 6.0 – February 1999 “ Tool Interface Standard (TIS) Format Specification for Windowd ” TIS Committee – February 1993 Website :    www.microsoft.com/hwdev/hardware/PECOFF.asp www.csn.ul.ie/~caolan/publink/winresdump/ http://www.heaventools.com/faq.htm (phần mềm PE Explorer) 36 Liên hệ :  Nếu bạn có thắc mắc hay quan tâm đến đề tài chúng tôi, xin liên hệ: trongton@hotmail.com toantn1982@yahoo.fr 37

Ngày đăng: 19/05/2017, 09:45

Mục lục

  • BÁO CÁO ĐỒ ÁN MÔN HỌC C4W

  • Thông tin về file

  • Một số kết quả đạt được

  • Sau khi Việt hóa bằng VEControls

  • Sau khi chuyển sang tiếng Pháp

  • Với phần mềm Flashget

  • Cấu trúc tổng quát của vùng PE Header

  • Các thành phần chính của PE Header

  • Cấu trúc dữ liệu của các node

  • IMAGE_RESOURCE_DIRECTORY_ENTRY

  • IMAGE_RESOUCE_DATA_ENTRY

  • Cấu trúc dữ liệu của cây Resource

  • Ví dụ minh họa

  • Hai loại resource chính :

  • Một số cờ được sử dụng trong menu resource

  • Lưu trữ resource mới lên file

  • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan