Ejemplo n.º 1
0
 private void SetEntry([NotNull] string entryName, [NotNull] byte[] entryData)
 {
     _entries[entryName] = new AcdEntry {
         Name = entryName,
         Data = entryData
     };
 }
Ejemplo n.º 2
0
 public void EnsureFullyLoaded()
 {
     if (_packedFile != null)
     {
         using (var reader = new AcdReader(_packedFile)) {
             while (reader.BaseStream.Position < reader.BaseStream.Length)
             {
                 var entry = reader.ReadEntry();
                 if (!_entries.ContainsKey(entry.Name))
                 {
                     _entries[entry.Name] = entry;
                 }
             }
         }
     }
     else if (_unpackedDirectory != null)
     {
         foreach (var file in Directory.GetFiles(_unpackedDirectory))
         {
             var name = Path.GetFileName(file);
             if (name != null && (!_entries.ContainsKey(name) || _entries[name] == null))
             {
                 _entries[name] = new AcdEntry {
                     Name = name,
                     Data = File.ReadAllBytes(file)
                 };
             }
         }
     }
 }
Ejemplo n.º 3
0
        public void Write(AcdEntry entry) {
            Write(entry.Name);
            Write(entry.Data.Length);

            for (var i = 0; i < entry.Data.Length; i++) {
                Write((uint)_enc.Encrypt(entry.Data[i], i));
            }
        }
Ejemplo n.º 4
0
        public void Write([NotNull] AcdEntry entry)
        {
            if (entry == null)
            {
                throw new ArgumentNullException(nameof(entry));
            }

            Write(entry.Name);
            Write(entry.Data.Length);

            var result = new byte[entry.Data.Length * 4];

            _enc.Encrypt(entry.Data, result);
            Write(result);
        }
Ejemplo n.º 5
0
 public void SetEntry(string entryName, byte[] entryData) {
     Entries[entryName] = new AcdEntry {
         Name = entryName,
         Data = entryData
     };
 }