Code: sizeBits = index[6]; printf("sizeBits in %s = %i\n",image->filename, sizeBits); printf("Tokensize in the string heap: %i\n", sizeBits & IL_META_SIZE_FLAG_STRREF ? 4 : 2); printf("Tokensize in the guid heap: %i\n", sizeBits & IL_META_SIZE_FLAG_GUIDREF ? 4 : 2); printf("Tokensize in the blob heap: %i\n", sizeBits & IL_META_SIZE_FLAG_BLOBREF ? 4 : 2); /* Determine the size of each of the token structures */ strRefSize = (sizeBits & IL_META_SIZE_FLAG_STRREF) ? 4 : 2; guidRefSize = (sizeBits & IL_META_SIZE_FLAG_GUIDREF) ? 4 : 2; blobRefSize = (sizeBits & IL_META_SIZE_FLAG_BLOBREF) ? 4 : 2; printf("Tokensize in the string heap: %i\n", strRefSize); printf("Tokensize in the guid heap: %i\n", guidRefSize); printf("Tokensize in the blob heap: %i\n", blobRefSize); /* Record the size of STRREF's and BLOBREF's for later */ image->strRefBig = (strRefSize == 4) ? 1 : 0; image->blobRefBig = (blobRefSize == 4) ? 1 : 0; image->guidRefBig = (guidRefSize == 4) ? 1 : 0; printf("Tokensizeflag for the string heap: %i\n", image->strRefBig); printf("Tokensizeflag for the guid heap: %i\n", image->guidRefBig); printf("Tokensizeflag for the blob heap: %i\n", image->blobRefBig); Output: sizeBits in /home/kt/Downloads/DotNet/Tests/mscorlib.dll = 5 Tokensize in the string heap: 4 Tokensize in the guid heap: 2 Tokensize in the blob heap: 4 Tokensize in the string heap: 4 Tokensize in the guid heap: 2 Tokensize in the blob heap: 4 Tokensizeflag for the string heap: 0 Tokensizeflag for the guid heap: 0 Tokensizeflag for the blob heap: 0 metadata error in token 0x02000001: bad FieldDef index mscorlib.dll: invalid metadata in image