I'm currently working on a .NET Core 2.1 application in C#. I want to protect my application source code from copy piracy. In general, I know that C# can fairly easy be reverse engineered. I need to ship my final software product to the customer, but I don't want anybody to read my source code. The software will be installed on a Windows Server, I cannot provide remote access as it is hosted in a closed environment (no internet there).
How can I protect my software from reverse engineering?
What do you do or which tools and frameworks do you use to secure your .NET Core 2.1 source code from piracy in 2018?
Is it still worth it to obfuscate your code?
Should I rather just write a secure library for my business logic in C++?
Thanks for sharing some ideas!