Разработать библиотеку которая заменяет имена в BAML

20 000 руб. за проект
05 декабря 2022, 16:54 • 5 откликов • 76 просмотров
Требуется написать библиотеку на C# (.NET 7), которая заменяет имена в скомпилированном XAML (т.н. BAML).

Требуется написать библиотеку на C# (.NET 7), которая загружает сборку, ищет ресурсы, которые содержат BAML, смотрит, какие имена типов, событий, методов, свойств там используются, исправляет их на новые, компилирует новый BAML и записывает сборку обратно.

Библиотека будет использована для улучшения существующего коммерческого обфускатора .NET сборок.

Для работы со сборками нужно использовать Mono.Cecil.

Существует решение, которое работает, его можно взять для изучения (но оно использует dnlib для работы со сборками):
https://github.com/mkaring/ConfuserEx/blob/master/...

Я создал заготовку для проекта https://github.com/ArtemRazin/BamlRenamer для быстрого старта. В конечном счете нужно реализовать метод UpdateAssembly класса BamlRenamer.

Также включен тест, который по мере работы должен быть улучшен, чтобы учесть различные конструкции XAML, которые могут использовать названия типов, событий, методов, свойств.