impr: Modernize the disassembler, hashes and yara view

This commit is contained in:
WerWolv
2024-12-24 10:57:09 +01:00
parent aad6f6bcbe
commit 512fcd361b
6 changed files with 63 additions and 42 deletions

View File

@@ -16,6 +16,7 @@
"hex.disassembler.view.disassembler.bpf.classic": "Classic",
"hex.disassembler.view.disassembler.bpf.extended": "Extended",
"hex.disassembler.view.disassembler.image_base_address": "Image Base Address",
"hex.disassembler.view.disassembler.image_base_address.hint": "This is the start address of the code region in the loaded data. For example the begin of the .text section",
"hex.disassembler.view.disassembler.disassemble": "Disassemble",
"hex.disassembler.view.disassembler.disassembling": "Disassembling...",
"hex.disassembler.view.disassembler.disassembly.address": "Address",
@@ -25,6 +26,7 @@
"hex.disassembler.view.disassembler.export": "Export instructions as...",
"hex.disassembler.view.disassembler.export.popup.error": "Failed to export to ASM file!",
"hex.disassembler.view.disassembler.image_load_address": "Image Load Address",
"hex.disassembler.view.disassembler.image_load_address.hint": "This is the address of where the disassembled code is being loaded into memory before it's being executed",
"hex.disassembler.view.disassembler.m680x.6301": "6301",
"hex.disassembler.view.disassembler.m680x.6309": "6309",
"hex.disassembler.view.disassembler.m680x.6800": "6800",

View File

@@ -145,11 +145,15 @@ namespace hex::plugin::disasm {
// Draw base address input
ImGuiExt::InputHexadecimal("hex.disassembler.view.disassembler.image_load_address"_lang, &m_imageLoadAddress, ImGuiInputTextFlags_CharsHexadecimal);
ImGui::SameLine();
ImGuiExt::HelpHover("hex.disassembler.view.disassembler.image_load_address.hint"_lang, ICON_VS_INFO);
// Draw code region start address input
ImGui::BeginDisabled(m_range == ui::RegionType::EntireData);
{
ImGuiExt::InputHexadecimal("hex.disassembler.view.disassembler.image_base_address"_lang, &m_imageBaseAddress, ImGuiInputTextFlags_CharsHexadecimal);
ImGui::SameLine();
ImGuiExt::HelpHover("hex.disassembler.view.disassembler.image_base_address.hint"_lang, ICON_VS_INFO);
}
ImGui::EndDisabled();
@@ -428,14 +432,14 @@ namespace hex::plugin::disasm {
m_mode = cs_mode(u32(m_mode) | CS_MODE_BIG_ENDIAN);
}
ImGuiExt::EndBox();
}
ImGuiExt::EndBox();
}
// Draw disassemble button
ImGui::BeginDisabled(m_disassemblerTask.isRunning() || m_regionToDisassemble.getStartAddress() < m_imageBaseAddress);
{
if (ImGui::Button("hex.disassembler.view.disassembler.disassemble"_lang))
if (ImGuiExt::DimmedButton("hex.disassembler.view.disassembler.disassemble"_lang))
this->disassemble();
}
ImGui::EndDisabled();