Example #1
0
        public void SetHexBoxFile(string hexboxIdentifier, ref LoadedFile file)
        {
            HexBox targetHexBox     = HexBoxes[hexboxIdentifier];
            DynamicByteProvider dbp = new DynamicByteProvider(file.BinaryContent);

            targetHexBox.ByteProvider = dbp;
        }
Example #2
0
        private void btn_set_target_file_Click(object sender, EventArgs e)
        {
            LoadedFile file = FileCorruptorProgram.SelectFile(selectedFileIdentifier);

            HexBoxManager.SetHexBoxFile(TARGET_HEXBOX_ID, ref file);

            lbl_target_hexbox.Text = selectedFileIdentifier;
            UpdateSelectedFileInfo();
        }
Example #3
0
        private void btn_set_source_file_Click(object sender, EventArgs e)
        {
            LoadedFile file = FileCorruptorProgram.SelectFile(selectedFileIdentifier);

            HexBoxManager.SetHexBoxFile(SOURCE_HEXBOX_ID, ref file);
            FileCorruptorProgram.SetCurrentSourceFile(selectedFileIdentifier);

            lbl_source_hexbox.Text = selectedFileIdentifier;
            UpdateSelectedFileInfo();
        }
Example #4
0
        public string LoadExternalFile(string filePath)
        {
            string fileName   = Path.GetFileName(filePath);
            string identifier = GenerateFileIdentifier(fileName);

            LoadedFile file = FileUtilities.LoadExternalFile(identifier, filePath);

            LoadedFiles.Add(identifier, file);
            return(identifier);
        }
Example #5
0
        public static LoadedFile MakeDeepCopy(LoadedFile sourceFile)
        {
            LoadedFile file = new LoadedFile()
            {
                Id            = Guid.NewGuid(),
                BinaryContent = (byte[])sourceFile.BinaryContent.Clone(),
                FilePath      = null,
                ReadOnly      = true
            };

            return(file);
        }
Example #6
0
        public static LoadedFile LoadExternalFile(string identifier, string filePath)
        {
            LoadedFile file = new LoadedFile()
            {
                Id            = Guid.NewGuid(),
                BinaryContent = File.ReadAllBytes(filePath),
                FilePath      = filePath,
                ReadOnly      = true
            };

            return(file);
        }
Example #7
0
        private void UpdateSelectedFileInfo()
        {
            LoadedFile file = FileCorruptorProgram.SelectFile(selectedFileIdentifier);

            if (file != null)
            {
                tb_file_identifier.Text         = selectedFileIdentifier;
                cb_protectFromOverwrite.Checked = file.ReadOnly;
                lbl_file_bytes.Text             = file.BinaryContent.Length.ToString();
                lbl_selected_file_path.Text     = file.FilePath;
                lbl_hash.Text = file.GetSHA1();
            }
        }
Example #8
0
        private void btn_file_create_copy_Click(object sender, EventArgs e)
        {
            LoadedFile sourceFile = FileCorruptorProgram.FileManager.LoadedFiles[selectedFileIdentifier];

            string copiedFileIdentifier = FileCorruptorProgram.FileManager.GenerateFileIdentifier(selectedFileIdentifier);

            FileCorruptorProgram.MakeCopy(copiedFileIdentifier, selectedFileIdentifier);

            selectedFileIdentifier = copiedFileIdentifier;

            UpdateSelectedFileInfo();
            UpdateTargetFilesListBox();
        }
Example #9
0
 public LoadedFile Copy(string newIdentifier, string sourceFileIdentifier)
 {
     if (LoadedFiles.ContainsKey(sourceFileIdentifier))
     {
         LoadedFile sourceFile = LoadedFiles[sourceFileIdentifier];
         LoadedFile copiedFile = FileUtilities.MakeDeepCopy(sourceFile);
         LoadedFiles.Add(newIdentifier, copiedFile);
         return(copiedFile);
     }
     else
     {
         return(null);
     }
 }
Example #10
0
        private void menu_import_file_Click(object sender, EventArgs e)
        {
            DialogResult result = ImportFileDialog.ShowDialog();

            if (result == System.Windows.Forms.DialogResult.OK)
            {
                string filePath = ImportFileDialog.FileName;

                FileCorruptorProgram.LoadExternalFile(filePath);
                UpdateTargetFilesListBox();

                LoadedFile currentSourceFile = FileCorruptorProgram.GetCurrentSourceFile();
                HexBoxManager.SetHexBoxFile(SOURCE_HEXBOX_ID, ref currentSourceFile);
            }
        }
Example #11
0
        private void UpdateTargetFilesListBox()
        {
            lb_targetFiles.Items.Clear();

            var loadedFiles = FileCorruptorProgram.FileManager.LoadedFiles;

            foreach (KeyValuePair <string, LoadedFile> fileEntry in loadedFiles)
            {
                string     identifier = fileEntry.Key;
                LoadedFile file       = fileEntry.Value;
                lb_targetFiles.Items.Add(identifier);
            }

            if (selectedFileIdentifier == null && lb_targetFiles.Items.Count > 0)
            {
                lb_targetFiles.SelectedIndex = 0;
            }
        }
Example #12
0
        private void btn_save_changes_Click(object sender, EventArgs e)
        {
            LoadedFile file = FileCorruptorProgram.SelectFile(selectedFileIdentifier);

            file.BinaryContent = HexBoxManager.GetHexBoxContent(TARGET_HEXBOX_ID);
        }
Example #13
0
 public string GetFileIdentifier(LoadedFile value)
 {
     return(LoadedFiles.FirstOrDefault(v => v.Equals(value)).Key);
 }