MDILDump
MDILDump copied to clipboard
Dump tool for CLR MDIL assemblies
MDILDump
This is a dump tool to parse the .mdil section in .NET assemblies containing MDIL or "Machine Dependent Intermediate Language".
This work is completely for personal research purposes.
Currently it only supports assemblies generated by CrossGen 4.0.50829.0 in Windows Phone 8 SDK RTM.
Usually it will be installed in %ProgramFiles(x86)%\Microsoft SDKs\Windows Phone\v8.0\Tools\MDILXAPCompile
System assemblies containing ARM MDIL code are installed in
%ProgramFiles(x86)%\Microsoft SDKs\Windows Phone\v8.0\DeviceNativeLibraries
System assemblies in the WP8 emulation VHD images contain x86 MDIL code, valuable for comparision
%ProgramFiles(x86)%\Microsoft SDKs\Windows Phone\v8.0\Emulation\Images\Flash.vhd
[SystemPartition]\Windows\System32\*.ni.dll
About MDIL
Microsft introduced MDIL for CoreCLR with the release of Windows Phone 8 and its SDK.
See https://channel9.msdn.com/Shows/Going+Deep/Mani-Ramaswamy-and-Peter-Sollich-Inside-Compiler-in-the-Cloud-and-MDIL
Some of the technical specifications of MDIL can be found in these patents:
Intermediate Language Support For Change Resilience
US Patent 8365156 http://www.freepatentsonline.com/8365156.html
US Patent 8375373 http://www.freepatentsonline.com/8375373.html
or
USPA 20110258615 http://www.freepatentsonline.com/y2011/0258615.html
USPA 20110258616 http://www.freepatentsonline.com/y2011/0258616.html
The information in these documents are a little bit outdated but still very useful and accurate, MDILDump is mainly based on this.
The Bartok compiler in Singularity RDK and Verve OS (the "verify" folder) also supports MDIL but very old and outdated.