1 / 37

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

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 hiện : Phạm Trọng Tôn - Triệu Ngọc Toàn. NỘI DUNG :. Phần 1: Giới thiệu đề tài và chương trình VIETNAM Ease Controls.

tolinka
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 hiện : Phạm Trọng Tôn - Triệu Ngọc Toàn

  2. NỘI DUNG : • Phần 1: Giới thiệu đề tài và chương trình VIETNAM Ease Controls. • Phần 2: Tổng quan về định dạng file thực thi PE (PE File Format). • Phần 3: Vấn đề truy xuất và sửa đổi các Resource trong file.

  3. Phần 1 : Giới thiệu đề tài và chương trình VE Controls. • Hiện nay, ở Việt Nam có rất nhiều ứng dụng được viết trên nền của hệ điều hành Windows của hãng Microsoft. Số các ứng dụng này chiếm khoảng hơn 90% số các phần mềm trên thế giới hiện nay. • Phần lớn các ứng dụng này đều sử dụng ngôn ngữ tiếng Anh làm giao diện chính cho chương trình của mình. Rất ít chương trình có khả năng hỗ trợ đa ngôn ngữ và đặc biệt là Tiếng Việt. • Điều này đã gây không ít khó khăn cho những người không chuyên tin học khi sử dụng máy tính. Đặc biệt trên máy tính còn tồn tại một số thuật ngữ cũng như những thông báo khá khó hiểu mà đối với một số người có trình độ tiếng Anh nhất định cũng sẽ gặp phải.

  4. Để khắc phục những khó khăn này chính phủ và các công ty phần mềm đã và đang cố gắng xây dựng các phần mềm giao diện tiếng Việt, nhằm phổ cập hoá CNTT và phát triển ngành CNTT nước nhà. Tuy nhiên cách này khá tốn kém và thường không hiệu quả do chất lượng các phần mềm trong nước còn chưa cao. • VD : HĐH Vietkey Linux được Việt Hóa từ HĐH Linux có mã nguồn mở. • Hiện nay trên mạng tồn tại một số phần mềm thương mại cho phép người dùng có thể sửa chữa lại giao diện chương trình từ các file thực thi như Resource Hacker, Restorator, PE Explorer… Với các chương trình này bạn phải sửa chữa từng từ một trong file do đó mất rất nhiều thời gian và nhàm chán do phải lặp đi lặp lại trên cùng một thao tác.

  5. VEControls

  6. Bảng tra từ

  7. Thông tin về file

  8. Với VEControls: • Việc Việt hóa các controls chuẩn sẽ được thực hiện một cách tự động dựa trên bộ từ điển xây dựng sẵn. • Tiết kiệm được rất nhiều thời gian so với cách làm thủ công, chính xác và hiệu quả. • Thực hiện những sửa đổi ngay trên file thực thi (không cần source code) và cho ra kết quả là một file thực thi có thể chạy được ngay. • Có khả năng mở rộng được cho nhiều ngôn ngữ khác nhau. Điều này sẽ làm tiết kiệm rất nhiều tiền bạc và công sức cho việc bản địa hóa phần mềm.

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

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

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

  12. Với phần mềm Flashget

  13. Phần 2:Tổng quan về định dạng file thực thi PE (PE File Format). • Kể từ HĐH Windows NT 3.1, Microsoft đưa ra một định dạng tập tin mới cho các file thưc thi của họ. Đó là định dạng tập tin thực thi Portable Executable (PE). • Về bản chất thì định dạng của tập tin PE được rút ra chủ yếu từ định dạng COFF (Common Object File Format) rất phổ biến trên hệ điều hành UNIX®.

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

  15. Các thành phần chính của PE Header • MS-DOS Header • Real-Mode Stub Program • Standard PE Header • NT Optional Header • Section Headers

  16. MS-DOS Header

  17. Real-Mode Stub Program • Là một chương trình con thật sự, có khả năng thực thi và đưa ra các thông báo lỗi. • Được Microsoft thêm vào để đảm bảo tính tương thích với các HĐH trước như MS-DOS và Windows 3.1. • Phần này nằm ngay sau MS-DOS Header và trước vùng PE header thật sự

  18. Standard PE Header • SIGNATURE BYTES: Ký hiệu để phân biệt các loại file thực thi khác nhau như PE, NE, MZ … • #SECTIONS: Số section mà trong phần dữ liệu của file chứa. Con số này thay đổi tùy theo file khác nhau. • PE/NT HDR SIZE: Kích thước của vùng NT header theo sau vùng này. • Flags: Một số cờ đặc biệt cho biết các đặc tính của file.

  19. NT Optional Header

  20. Trường quan trọng • AddressOfEntryPoint: Trường này xác định vị trí điểm vào cho ứng dụng, và có lẽ quan trọng hơn đối với các hacker hệ thống nó chính là vị trí kết thúc của Import Address Table (IAT). • Image Base: tham chiếu địa chỉ cơ sở trong không gian địa chỉ của tiến trình để ánh xạ image file thực thi vào. Giá trị mặc định cho trường này là địa chị 0x00400000. • Section Alignment : mỗi section sẽ được nạp vào một vùng không gian địa chỉ của tiến trình một cách tuần tự bắt đầu từ địa chỉ Image Base. Section Alignment chỉ định kích thước nhỏ nhất của bộ nhớ mà vùng này có thể chiếm dụng khi được nạp. • OS Major/Minor: Phiên bản HĐH tối thiểu cần để chạy chương trình. • ImageSize: Chỉ ra khoảng không gian địa chỉ dành để nạp ảnh thực thi. Con số này bị ảnh hưởng rất lớn bởi SectionAlignment. • HeaderSize: Trường này chỉ ra kích thước của tất cả các Header trong file bao gồm: MS-DOS Header, PE Header, Optional Header, PE Sections Header. • CheckSum: Kiểm tra lỗi khi nạp chương trình lên bộ nhớ. • NumberOfRvaAndSizes: trường này chỉ ra chiều dài của mảng Data Directory theo sau.

  21. Section Header • RESOURCE TABLE RVA: Con trỏ địa chỉ tương đối tới đầu vùng resource. • TOTAL RESOURCE DATA SIZE: Tổng kích thước của vùng resource.

  22. Phần 3: Vấn đề truy xuất và sửa đổi các Resource trong file.

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

  24. IMAGE_RESOURCE_DIRECTORY_ENTRY • Name: Định danh của resource, có thể là một chuỗi chứa tên resource hoặc một con số • OffsetToData: Con trỏ tới node kế tiếp hay node lá

  25. IMAGE_RESOUCE_DATA_ENTRY • OffsetToData: Chứa địa chỉ offset của vùng dữ liệu thật sự của resource. • Size: Kích thước của vùng dữ liệu này.

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

  27. Ví dụ minh họa

  28. Hai loại resource chính : • Dialog Resource • Button • Static text • Check box, radio button • Group box • … các control chuẩn khác • Menu Resource • Popup menu item • Normal menu item • Nested menu

  29. Dialog

  30. Dialog Header:

  31. Control Data • Để lấy đoạn text của các Control : CString s=CString((LPCWSTR)p);//p con trỏ để duyệt vùng data

  32. Menu

  33. Menu Item • Nomal Menu Item • Popup Menu Item : kiểm tra giá trị cờ là POPUP (fItemFlags & POPUP) • Separator: là normal menu item nhưng có fItemFlags=0, wMenuID=0, szItemText=NULL

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

  35. Lưu trữ resource mới lên file • Là quá trình ngược lại với quá trình truy xuất resource. • Tái tạo lại cây resource từ các data mới, tính toán lại các thay đổi của địa chỉ cũng như của kích thước của từng directory. • Ghi cây này vào file mới, cập nhật lại các thay đổi về địa chỉ và kích thước của các vùng header bên trên.

  36. Tài liệu tham khảo • MSDN : • “Peering Inside the PE: A Tour of the Win32 Portable Executable File Format” Matt Pietrek - March 1994 • 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: • “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)

  37. Liên hệ : • Nếu bạn có thắc mắc hay quan tâm đến đề tài của chúng tôi, xin liên hệ: trongton@hotmail.com toantn1982@yahoo.fr

More Related