/// <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); }