public void SetHexBoxFile(string hexboxIdentifier, ref LoadedFile file) { HexBox targetHexBox = HexBoxes[hexboxIdentifier]; DynamicByteProvider dbp = new DynamicByteProvider(file.BinaryContent); targetHexBox.ByteProvider = dbp; }
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(); }
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(); }
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); }
public static LoadedFile MakeDeepCopy(LoadedFile sourceFile) { LoadedFile file = new LoadedFile() { Id = Guid.NewGuid(), BinaryContent = (byte[])sourceFile.BinaryContent.Clone(), FilePath = null, ReadOnly = true }; return(file); }
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); }
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(); } }
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(); }
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); } }
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); } }
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; } }
private void btn_save_changes_Click(object sender, EventArgs e) { LoadedFile file = FileCorruptorProgram.SelectFile(selectedFileIdentifier); file.BinaryContent = HexBoxManager.GetHexBoxContent(TARGET_HEXBOX_ID); }
public string GetFileIdentifier(LoadedFile value) { return(LoadedFiles.FirstOrDefault(v => v.Equals(value)).Key); }