cuốn sách gpt4 ai đã làm

c++ - Làm cách nào để xác định xem tệp exe là exe .Net hay exe thông thường?

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 13:50:41 28 4
mua khóa gpt4 Nike

cái nàyKHÔNGBản sao của câu hỏi SO sau: Làm cách nào để biết ứng dụng win32 có sử dụng thời gian chạy .NET hay không .

Nếu tệp exe đã cho là tệp .net exe hoặc tệp exe WIN32/WIN64 thông thường, tôi phải làm cách nàolập trìnhTìm ra?

Câu hỏi không phải là hỏi về một quy trình đang chạy mà là về một tệp exe và như thẻ gợi ý, không cần giải pháp nào được viết bằng VB.net hoặc C#.

Tôi cần một hàm có chữ ký như:

// trả về true nếu tên file là file exe cho .Net
bool IsExeFileDotNet(tên tệp LPCTSTR)
{
...
}

câu trả lời hay nhất

Một cách là yêu cầu tiêu đề PE, v.v. lấy các cờ chính xác. Có một số liên kết để đọc thêm; đâyđây (Các bài viết MSDN trước đó cũng đây).

Tài liệu MS về tiêu đề PE có sẵn (với thỏa thuận cấp phép) .

Điều đơn giản nhất có lẽ là liệt kê các dll phụ thuộc (vì điều này chỉ hoạt động với exe chính) và tìm mscoree.dll để xem nó có tồn tại không. Bảng nhập sẽ chứa mscoree.dll cũng như các hàm _CorExeMain Bao gồm và các mục (từ mscoree.dll). Có thể tìm thấy nhiều liên kết hơn về điều này ở đây trên SOở đây trên GitHub, đó có vẻ là một mẫu mở rộng , 和 bài viết này (trên CodeGuru)Với chữ ký bạn cần BOOL được quản lý(LPTSTR lpszImageName) mã chức năng (giấy phép xuất hiện để hạn chế phân phối lại).

Giới thiệu về c++ - Làm cách nào để xác định file exe là exe .Net hay exe thông thường? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/36569710/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress