Пример #1
0
        /// <summary>
        /// Attempts to bruteforce the WzKey with a given WZ file
        /// </summary>
        /// <param name="wzPath"></param>
        /// <param name="wzIvKey"></param>
        /// <returns>The probability. Normalized to 100</returns>
        public static bool TryBruteforcingWzIVKey(string wzPath, byte[] wzIvKey)
        {
            using (WzFile wzf = new WzFile(wzPath, wzIvKey))
            {
                string parseErrorMessage  = string.Empty;
                bool   parsedSuccessfully = wzf.LazyParseWzFile(out parseErrorMessage);
                if (!parsedSuccessfully)
                {
                    wzf.Dispose();
                    return(false);
                }
                if (wzf.WzDirectory.WzImages.Count > 0 && wzf.WzDirectory.WzImages[0].Name.EndsWith(".img"))
                {
                    wzf.Dispose();
                    return(true);
                }

                wzf.Dispose();
            }
            return(false);
        }