While building an android app in Xamarin, under the compiler settings I see an option called Enable Optimisations. When this option is checked, the apk that is generated contains the dll files in .blob format. I see two files, assemblies.blob and assemblies.manifest.
As per my understanding, I should be able to use the assemblies.manifest file to decompile the assemblies.blob into individual dlls.
Does anyone have an idea on how can I convert the assemblies.blob file to individual dlls? I could not find much information about it online. Below are some lines from the manifest file -
Hash 32 Hash 64 Blob ID Blob idx Name
0x31e9a66e 0x69f36bfeefc36c21 000 0000 test_optimize
0xa2e0939b 0x4288cfb749e4c631 000 0001 Xamarin.AndroidX.Activity
0x3dbaaf8f 0x8168042fd44a7c7a 000 0002 Xamarin.AndroidX.AppCompat
0x53cefc50 0x2248f922dc398cba 000 0003 Xamarin.AndroidX.CoordinatorLayout
0xc86c06e3 0x90bf592ea44f6673 000 0004 Xamarin.AndroidX.Core
Looking at the above, it seems to me that I should parse the blob as a byte[] and then create the individual dlls, but which hashing algorithm has been used to compute the 'Hash 32' and 'Hash 64' is something I do not know.
Why do I want to do this? I have obfuscated my dlls, I just want to make sure that the dlls inside this blob file are actually obfuscated.