Загрузка Native файла из ресурса с получением библиотеки внутри файла
Build - .Net Core 8.0 (Console)
Builder - Net Framework 4.7 (Console)
В проект Builder закинул .exe файл build проекта, загружаю его через
byte[] nativeFileBytes = Properties.Resources.BuildTest;
Мне нужно через Native API функции загрузить нативный файл, найти там .dll - она MSIL .Net C# и её загрузить через библиотеку dnlib, отредактировать и сохранить в NativeFile так же чтобы сохранилась и оболочка C/C++ NetCore.
Можно ли такое реализовать?
Вообщем задача такая:
- Загрузить Native AOT .Net Core приложение через библиотеку dnlib (но, так как ModuleDefMD.Load грузит только .Net сборки, то это не работает с AOT .Net Core приложениями, остаётся вариант с WinAPI)
- Перебрать внутри приложения все .dll и найти ту которая называется как сам файл .exe
- Загрузить найденную .dll внутри через dnlib приложение.
- Пропатчить .dll и сохранить в том же самом .exe
Вот такая стоит задача, но я не знаю как сделать пока, была мысль что если скомпилирую в Net Core .dll и закину в ресурсы и от туда отредачу, а в dnlib использую NativeWrite module.NativeWrite("BuildTest.exe", options);
то на выходе получу нативную оболочку, но нет =) Я наивный хD.
Остаётся только вариант с редактированием через саму оболочку AOT .NetCore лежащий в ресурсах.