in utils/capstone_disassembler.py [0:0]
def filter_memory_references(i):
inst = "" + i.mnemonic
for op in i.operands:
if op.type == 1:
inst = inst + " " + i.reg_name(op.reg)
elif op.type == 2:
imm = int(op.imm)
if -int(5000) <= imm <= int(5000):
inst = inst + " " + str(hex(op.imm))
else:
inst = inst + " " + str("HIMM")
elif op.type == 3:
mem = op.mem
if mem.base == 0:
r = "[" + "MEM" + "]"
else:
r = (
"["
+ str(i.reg_name(mem.base))
+ "*"
+ str(mem.scale)
+ "+"
+ str(mem.disp)
+ "]"
)
inst = inst + " " + r
if len(i.operands) > 1:
inst = inst + ","
if "," in inst:
inst = inst[:-1]
inst = inst.replace(" ", "_")
return str(inst)