Во-первых, я отдаю себе отчет в 1. Is it possible to export a dll definition from my AppDomain? 2. Is it possible to save a dynamic assembly to disk? 3. How can I extract DLL file from memory dump?Можно ли экспортировать/выгрузить DLL из памяти процесса в файл?
, но ни один из них не кажется, ответить на мой вопрос, в частности.
Рассмотрите следующую ситуацию: приложение C# загружает DLL из потока памяти (поэтому DLL не подвергается прямому воздействию пользователя). Есть ли инструмент, который явно позволяет выгружать или экспортировать эту конкретную DLL из памяти на диск в ее первоначальной форме?
Примечание: Мне бы хотелось, чтобы кто-нибудь показал мне пошаговую процедуру извлечения неповрежденной DLL из дампа памяти приложения C#.
Какой формат у вас есть при загрузке dll? у вас все еще есть ссылка на объект «Сборка» или байт []? –
Попробуйте использовать MyAssembly.Location ... это дает вам путь к файлу, с которым вы могли бы читать. Я знаю, что это MemoryStream, но они могут создать временный файл внутри. –
@ PhilippeParé Путь к сборке никогда не будет доступен для пользователя. Мне интересно узнать точный способ извлечения загруженных DLL-файлов из распределенной памяти процесса или из дампа памяти. – IneedHelp