Example #1
0
        /// <summary>
        /// Takes as FAsignature and checks it against file header buffer
        /// </summary>
        /// <param name="buffer">file header buffer</param>
        /// <param name="faSig">signature</param>
        /// <returns>bool signature found</returns>
        public static bool CheckSignature(byte[] buffer, FASignature faSig)
        {
            if (!String.IsNullOrEmpty(faSig.Extension))
            {
                if (!String.IsNullOrEmpty(faSig.HexSignature))//checks for a hexSig to look for
                {
                    byte[] hexSigBuffer = faSig.GetHexSignature();

                    for (int i = 0; i < hexSigBuffer.Length; i++)
                    {
                        //Console.WriteLine($"Buf:{buffer[i]} \t Sig:{hexSigBuffer[i]}");
                        if (buffer[i + faSig.Offset] != hexSigBuffer[i])
                        {
                            return(false);
                        }
                    }
                    return(true);
                }
            }
            return(false);
        }