Работать по такой программе можно, и по .NET заметно больше, чем по другим языкам. Установленная у вас копия — полноценный объект исследования: по ней устанавливают состав классов и методов, обращения к базе и внешним системам, подключённые пакеты, тексты сообщений и значительную часть логики.
Чего по ней не установить: содержания комментариев, исходных имён локальных переменных без файлов отладочных данных и того, какие решения принимал разработчик. Не работает и главный довод направления — контрольная сборка: собирать нечего, пока исходный текст не передан, и сравнение ведут по самой программе. Выводы о качестве исходного текста по восстановленному делают осторожно и с прямой оговоркой, что исследовался результат восстановления.
Если исходный текст остался у подрядчика, его получают через суд: по возбуждённому делу заявляют ходатайство об истребовании доказательства, называя, что именно требуется, какие обстоятельства этим подтверждаются, где оно находится и почему получить его самому нельзя. По .NET в такое ходатайство просят включить и файлы отладочных данных: без них восстановление грубее.