Skip to content

Commit dd6d10a

Browse files
committed
GUI: resolved issue x64dbg#432 (stack segments being displayed incorrectly)
1 parent 62b0e72 commit dd6d10a

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/gui/Src/Disassembler/capstone_gui.cpp

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,21 @@ bool CapstoneTokenizer::tokenizeMemOperand(const cs_x86_op & op)
393393
//memory segment
394394
const auto & mem = op.mem;
395395
const char* segmentText = _cp.RegName(x86_reg(mem.segment));
396-
if(mem.segment == X86_REG_INVALID)
397-
segmentText = "ds";
396+
if(mem.segment == X86_REG_INVALID) //segment not set
397+
{
398+
switch(x86_reg(mem.base))
399+
{
400+
case X86_REG_ESP:
401+
case X86_REG_RSP:
402+
case X86_REG_EBP:
403+
case X86_REG_RBP:
404+
segmentText = "ss";
405+
break;
406+
default:
407+
segmentText = "ds";
408+
break;
409+
}
410+
}
398411
addToken(TokenType::MemorySegment, segmentText);
399412
addToken(TokenType::Uncategorized, ":");
400413

0 commit comments

Comments
 (0)