From c780b4036698fbd70db3177adc2a8f9a623002ab Mon Sep 17 00:00:00 2001 From: mrexodia Date: Sat, 21 May 2016 18:30:35 +0200 Subject: [PATCH] GUI: removed function+x at addresses + infobox now has relative addresses --- src/gui/Src/Disassembler/capstone_gui.cpp | 12 +----------- src/gui/Src/Gui/CPUInfoBox.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/gui/Src/Disassembler/capstone_gui.cpp b/src/gui/Src/Disassembler/capstone_gui.cpp index a34ad996..75f27960 100644 --- a/src/gui/Src/Disassembler/capstone_gui.cpp +++ b/src/gui/Src/Disassembler/capstone_gui.cpp @@ -231,17 +231,7 @@ QString CapstoneTokenizer::printValue(const TokenValue & value, bool expandModul QString moduleText; duint addr = value.value; bool bHasLabel = DbgGetLabelAt(addr, SEG_DEFAULT, label_); - if(!bHasLabel) //handle function+offset - { - duint start; - if(DbgFunctionGet(addr, &start, nullptr) && DbgGetLabelAt(start, SEG_DEFAULT, label_)) - { - labelText = QString("%1+%2").arg(label_).arg(ToHexString(addr - start)); - bHasLabel = true; - } - } - else - labelText = QString(label_); + labelText = QString(label_); bool bHasModule = (expandModule && DbgGetModuleAt(addr, module_) && !QString(labelText).startsWith("JMP.&")); moduleText = QString(module_); if(maxModuleLength != -1) diff --git a/src/gui/Src/Gui/CPUInfoBox.cpp b/src/gui/Src/Gui/CPUInfoBox.cpp index 2c45bdaf..528efeca 100644 --- a/src/gui/Src/Gui/CPUInfoBox.cpp +++ b/src/gui/Src/Gui/CPUInfoBox.cpp @@ -236,7 +236,13 @@ void CPUInfoBox::disasmSelectionChanged(dsint parVA) // Function/label name char label[MAX_LABEL_SIZE]; if(DbgGetLabelAt(parVA, SEG_DEFAULT, label)) - info += "<" + QString(label) + ">"; + info += QString("<%1>").arg(label); + else + { + duint start; + if(DbgFunctionGet(parVA, &start, nullptr) && DbgGetLabelAt(start, SEG_DEFAULT, label) && start != parVA) + info += QString("<%1+%2>").arg(label).arg(ToHexString(parVA - start)); + } setInfoLine(2, info); }