예제 #1
0
        public void DecryptFile(string inputFile, string outputFile)
        {
            try
            {
                FSIn  = new FileStream(inputFile, FileMode.Open, FileAccess.Read);
                FSOut = new FileStream(outputFile, FileMode.Create);
                var decryptor = RMCrypto.CreateDecryptor(keyBytes, VIKey);
                CStream = new CryptoStream(FSIn, decryptor, CryptoStreamMode.Read);

                int data;
                while ((data = CStream.ReadByte()) != -1)
                {
                    FSOut.WriteByte((byte)data);
                }
                CStream.Dispose();
                FSIn.Dispose();
                FSOut.Dispose();
                Written?.Invoke();
            } catch (Exception e)
            {
                FSIn?.Dispose();
                FSOut?.Dispose();
                File.Delete(outputFile);
                Error?.Invoke(e);
            }
        }
예제 #2
0
        public void Set(int address, int value)
        {
            var page = (address & 0xF000) >> 12;

            _mem[_mapper[page]][address & 0xFFF] = value & 0xFF;
            Written?.Invoke(this, new AddressWrittenEventArgs(address, 1, value & 0xFF));
        }
예제 #3
0
            public void Write(string category, string summary, JSONValue content)
            {
                var item = new LogItem(category, summary, content);

                Entries.Add(item);

                Written?.Invoke(this, item);
            }
예제 #4
0
        public static void Write(int mask, string format, params object[] args)
        {
            if ((EnableMask & mask) != mask)
            {
                return;
            }

            if (args.Count() > 0)
            {
                Written?.Invoke(mask, string.Format(format, args));
            }
            else
            {
                Written?.Invoke(mask, format);
            }
        }
예제 #5
0
 internal void NotifyWritten() =>
 Written?.Invoke();
예제 #6
0
 /// <summary>
 /// Called when console was written.
 /// </summary>
 /// <param name="entry">The entry.</param>
 protected virtual void OnWritten(string entry)
 {
     Written?.Invoke(sender: this, e: entry);
 }
예제 #7
0
 internal static void InvokeWritten(FileInfo handle)
 {
     Written?.Invoke(handle);
 }
예제 #8
0
 public void Write16(int address, int value)
 {
     WriteCore(address, value >> 8);
     WriteCore(address + 1, value & 0xFF);
     Written?.Invoke(this, new AddressWrittenEventArgs(address, 2, value & 0xFFFF));
 }