Buy Me a Coffee

Buy Me a Coffee!

Tuesday, January 3, 2017

Dissecting C# Executables: Part 2

To help round out our original inquiry, I created 8 console applications on a Mac using Xamarin Studio and compiled them in release mode.  Since I was using the same code as before, I expected, and was not surprised to see that the same IL was generated when I opened it up in JustDecompile:
IL Generated by Xamarin
What was a little surprising is that all of the Xamarin assemblies showed as /x86:
Assemblies in Telerik JustDecompile
The Xamarin built files were also a more uniform size:
01/03/2017  08:54 PM             3,584 HelloWorld_Xamarin_2.0.exe
01/03/2017  08:54 PM             3,584 HelloWorld_Xamarin_4.0.exe
01/03/2017  08:54 PM             3,584 HelloWorld_Xamarin_4.0Client.exe
01/03/2017  08:55 PM             3,584 HelloWorld_Xamarin_4.5.1.exe
01/03/2017  08:55 PM             3,584 HelloWorld_Xamarin_4.5.2.exe
01/03/2017  08:55 PM             3,584 HelloWorld_Xamarin_4.5.exe
01/03/2017  08:55 PM             3,584 HelloWorld_Xamarin_4.6.1.exe
01/03/2017  08:55 PM             3,584 HelloWorld_Xamarin_4.6.exe

It is going to be interesting to look at the binaries and see where they differ.

More to come!


Part 1
Part 2
Part 3
Part 4
Part 5
Part 6
Part 7
Part 8
Part 9