TL;DR This is a .NET app that takes in an input string and checks if it's the flag. The .dlls can be recovered with a tool called `mono_unbundle` and then imported into a tool like ILSpy. Once the source is decompiled, it's clear that the flag can be derived by solving for a polynomial function using hardcoded values.