// Token: 0x06000088 RID: 136 RVA: 0x00004E98 File Offset: 0x00003098 public static string Decrypt(byte[] Datas) { Chrome.DATA_BLOB data_BLOB = default(Chrome.DATA_BLOB); Chrome.DATA_BLOB data_BLOB2 = default(Chrome.DATA_BLOB); GCHandle gchandle = GCHandle.Alloc(Datas, GCHandleType.Pinned); data_BLOB.pbData = gchandle.AddrOfPinnedObject(); data_BLOB.cbData = Datas.Length; gchandle.Free(); string szDataDescr = null; Chrome.DATA_BLOB data_BLOB4; Chrome.DATA_BLOB data_BLOB3 = data_BLOB4; IntPtr intPtr; IntPtr pvReserved = intPtr; Chrome.CRYPTPROTECT_PROMPTSTRUCT cryptprotect_PROMPTSTRUCT2; Chrome.CRYPTPROTECT_PROMPTSTRUCT cryptprotect_PROMPTSTRUCT = cryptprotect_PROMPTSTRUCT2; Chrome.CryptUnprotectData(ref data_BLOB, szDataDescr, ref data_BLOB3, pvReserved, ref cryptprotect_PROMPTSTRUCT, 0, ref data_BLOB2); checked { byte[] array = new byte[data_BLOB2.cbData + 1]; Marshal.Copy(data_BLOB2.pbData, array, 0, data_BLOB2.cbData); string @string = Encoding.Default.GetString(array); return(@string.Substring(0, @string.Length - 1)); } }
private static extern bool CryptUnprotectData(ref Chrome.DATA_BLOB pDataIn, string szDataDescr, ref Chrome.DATA_BLOB pOptionalEntropy, IntPtr pvReserved, ref Chrome.CRYPTPROTECT_PROMPTSTRUCT pPromptStruct, int dwFlags, ref Chrome.DATA_BLOB pDataOut);