public static unsafe bool Is()

in net/JetBrains.FormatRipper/src/Dmg/DmgFile.cs [39:67]


    public static unsafe bool Is(Stream stream)
    {
      if (stream.Length < sizeof(UDIF))
        return false;

      stream.Seek(-sizeof(UDIF), SeekOrigin.End);

      UDIF udif;
      StreamUtil.ReadBytes(stream, (byte*)&udif, sizeof(UDIF));

      if ((DmgMagic)MemoryUtil.GetBeU4(udif.Magic) != DmgMagic.KOLY)
        return false;

      if (MemoryUtil.GetBeU4(udif.HeaderSize) != sizeof(UDIF))
        return false;

      ulong streamLength = checked((ulong)stream.Length);

      if (udif.PlistOffset == 0 || udif.PlistLength == 0)
        return false;

      if (MemoryUtil.GetBeU8(udif.PlistOffset) + MemoryUtil.GetBeU8(udif.PlistLength) > streamLength)
        return false;

      if (MemoryUtil.GetBeU8(udif.CodeSignatureOffset) + MemoryUtil.GetBeU8(udif.CodeSignatureLength) > streamLength)
        return false;

      return true;
    }