Tôi cần đọc số FileVersion
của tệp thực thi. Vấn đề là tôi không có một tập tin thực sự trên đĩa, chỉ có một mảng các byte. API FileVersion chỉ có phương thức GetVersionInfo(string fileName)
, nó không có bất kỳ phương pháp nào để lấy phiên bản từ tệp.Làm cách nào để có được thông tin FileVersion của tệp thực thi được lưu trữ trong bộ nhớ dưới dạng một mảng byte?
Tôi đã thử tìm kiếm nguồn với trình dịch ngược, nhưng có vẻ phức tạp hơn một bản sao/dán đơn giản có thể làm.
Có cách nào để đọc FileVersion
của tệp không, vì tôi có byte nội dung tệp, mà không cần ghi tệp vào đĩa?
Có lẽ đây là một câu hỏi ngớ ngẩn, nhưng bạn đã thử viết mảng byte của bạn vào một tệp trên đĩa rồi gọi 'GetVersionInfo' trên đó chưa? (Giả sử rằng mảng byte thậm chí sẽ chứa thông tin này ở vị trí đầu tiên.) –
Vâng, bạn có thể đọc phần '.rsrc' từ hình ảnh PE, nhưng điều đó có lẽ sẽ không tầm thường ... trừ khi bạn có rất tốt lý do không, tôi khuyên bạn nên viết tệp vào đĩa. –
Bắt đầu bằng http://secana.github.io/PeNet/html/5886c81e-a545-ed37-eb3d-af21b3e00b52.htm –