It's very difficult to de-compile the source once you get it off the Netduino. As with all .NET assemblies you can probably take it back to IL but it's pretty useless. I haven't tried with NETMF but I'm sure you can probably Obfuscate your code.
Have a look at ILSpy - translate you IL into VB or C#. That's a free option.
Reflector does the same but is no longer free.
For me it's not a question about the disassembly back to source, it's more of a question of can you get the exe/dll's off of the Netduino.
For instance, this c# code:
public static void Main(){ BasicModule myModule = null; while (myModule == null) { try { myModule = new BasicModule(); } catch (Exception ex) { Debug.Print("Exception: " + ex.Message); } } while (true) { for (byte index = 0; index < 100; index++) { Debug.Print("Adding 5 to " + index.ToString() + " gives: " + myModule.AddFive(index)); Thread.Sleep(2000); } }}
When compiled and then presented to ILSpy is generates this C# code:
public static void Main(){BasicModule myModule = null;while (myModule == null){ try { myModule = new BasicModule(); } catch (Exception ex) { Debug.Print("Exception: " + ex.get_Message()); }}while (true){ for (byte index = 0; index < 100; index += 1) { Debug.Print(string.Concat(new object[] { "Adding 5 to ", index.ToString(), " gives: ", myModule.AddFive(index) })); Thread.Sleep(2000); }}}
So it's not the original but it's close enough.
You'd need to look at some obfuscation tools - there are some out there but I've never used them.
Regards,
Mark