Hướng dẫn cài đặt windows software develoment kit

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Latest commit

Files

Permalink

Failed to load latest commit information.

Type

Name

Latest commit message

Commit time

Hướng dẫn cài đặt

Giới thiệu

  • Đề tài bài tập lớn: Lập trình driver cho chức năng đọc, ghi dữ liệu trên window
  • Khi lập trình driver, ta cần sử dụng hai máy tính
    • Máy thứ nhất đóng vai trò là host, là máy để hỗ trợ lập trình
    • Máy thứ hai đóng vai trò là target, là máy để debug, thử nghiệm cài đặt, đánh giá kết quả thực hiện của chương trình driver. Thông thường nên chọn máy ảo làm máy target vì khi chương trình driver viết ra có lỗi thì có thể gây lỗi cho hệ điều hành.
  • Phần tiếp theo sẽ hướng dẫn cài đặt môi trường lập trình (trên máy host) và môi trường debug (trên máy target). Chi tiết hướng dẫn cài đặt tham khảo ở Windows Kernel Programming Tutorial
  • Sau đó sẽ giới thiệu một số hàm cơ bản cần dùng trong lập trình

1. Cài đặt môi trường lập trình

  • Cài đặt Visual Studio 2017 (hỗ trợ lập trình driver), trong đó Software Development Kit (SDK) sẽ được cài đặt tự động
  • Cài đặt Windows Driver Kit (WDK)
  • Link hướng dẫn

2. Cài đặt môi trường debug

  • Cài đặt phần mềm tạo máy ảo. Có thể cài VirtualBox hoặc VMWare. Phần mềm này sẽ chạy trên máy host, tạo ra máy ảo để dùng việc debug driver
    • Sau khi khởi động được máy ảo (cần cài đặt hệ điều hành vào máy ảo) thì cần cài thêm chương trình Guest Addition để có thể kéo thả các tệp từ máy host vào thẳng máy ảo
  • Cài đặt phần mềm Driver Loader để load driver vào máy target
  • Cài đặt tool hỗ trợ debug lập trình kernel driver trên máy ảo VirtualKD

3. Một số hàm trong lập trình driver

  • NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING RegistryPath): Hàm được gọi đầu tiên khi driver được load vào hệ thống
    • DriverObject là con trỏ trỏ đến đối tượng biểu diễn cho driver
  • DbgPrint(char* msg): Hiển thị xâu lên màn hình debug
  • RtlInitUnicodeString(UNICODE_STRING* us, char* msg): Hàm này khởi tạo một đối tương thuộc kiểu UNICODE_STRING, trong đó chứa nội dung xâu msg, độ dài xâu, độ dài tối đa
  • InitializeObjectAttributes(OBJECT_ATTRIBUTES* oa, UNICODE_STRING* us, Flag f, NULL, NULL): Khởi tạo đối tương thuộc kiểu OBJECT_ATTRIBUTES
  • ZwCreateFile(Handle* h, DesiredAccess da, OBJECT_ATTRIBUTES* oa, IO_STATUS_BLOCK* isb, NULL, NULL): Khởi tạo một handle để thực hiện đọc hoặc ghi file
  • ZwClose(Handle h): đóng handle
  • NT_SUCCESS(NTSTATUS status): kiểm tra status có thành công không
  • ZwReadFile(Handle h, NULL, NULL, NULL, IO_STATUS_BLOCK* isb, PVOID buff, ULONG buffSize, PLARGE_INTEGER offset, NULL): Đọc file được chỉ định bởi handle. Vị trí đọc bắt đầu từ offset. Số byte đọc là buffSize. Kết quả đọc được ghi vào buff
  • ZwWriteFile(Handle h, NULL, NULL, NULL, IO_STATUS_BLOCK* isb, PVOID buff, ULONG buffSize, PLARGE_INTEGER offset, NULL): Ghi file được chỉ định bởi handle. Vị trí ghi bắt đầu từ offset. Số byte ghi là buffSize. Nội dung ghi lấy từ buff
  • ZwQueryInformationFile(Handle h, IO_STATUS_BLOCK* isb, PVOID fileInfo, ULONG length, FILE_INFORMATION_CLASS fic): Truy vấn một số thông tin cơ bản của file (thời gian tạo file, thời gian sửa file lần cuối, kích thước file). Kết quả được lưu trong ô nhớ mà biến fileInfo trỏ đến
  • Tài liệu chi tiết các hàm: Windows Kernel

Windows Software Development Kit - Windows là một Shareware phần mềm trong danh mục Thể loại khác được phát triển bởi Microsoft Corporation.

Nó đã được kiểm tra cho các bản cập nhật 4.398 lần bởi người sử dụng các ứng dụng khách hàng của chúng tôi UpdateStar trong tháng trước.

Phiên bản mới nhất của Windows Software Development Kit - Windows là 10.1.22000.832, phát hành vào ngày 13/02/2023. Vào lúc đầu, nó đã được thêm vào cơ sở dữ liệu của chúng tôi trên 29/03/2015.

Install the Windows Software Development Kit for Windows 8.1 from Microsoft's Web site. You should install this specific version even if your operating system is not Windows 8.1 but only if the operating system is supported both by Oracle JD Edwards and Microsoft Windows Software Development Kit for Windows 8.1. Refer to the Oracle Certification system on support.oracle.com for the latest service pack, releases, and operating systems supported with Windows Software Development Kit for Windows 8.1 (the information will be under the JD Edwards EnterpriseOne Deployment Server and JD Edwards EnterpriseOne Enterprise Server product).

As of the GA release of JD Edwards Tools and Applications Release 9.2, the following link is valid for Windows Software Development Kit for Windows 8.1:

http://msdn.microsoft.com/enus/windows/desktop/bg162891.aspx