Skip to content

Commit

Permalink
Colors for code/stack/heap addresses can be tweaked directly via them…
Browse files Browse the repository at this point in the history
…e command
  • Loading branch information
hugsy committed Dec 31, 2017
1 parent 9816e70 commit 07a8676
Showing 1 changed file with 19 additions and 12 deletions.
31 changes: 19 additions & 12 deletions gef.py
Original file line number Diff line number Diff line change
Expand Up @@ -366,12 +366,15 @@ def __init__(self, *args, **kwargs):

def __str__(self):
value = format_address( self.value )
code_color = get_gef_setting("theme.address_code")
stack_color = get_gef_setting("theme.address_stack")
heap_color = get_gef_setting("theme.address_heap")
if self.is_in_text_segment():
return Color.redify(value)
return Color.colorify(value, attrs=code_color)
if self.is_in_heap_segment():
return Color.yellowify(value)
return Color.colorify(value, attrs=heap_color)
if self.is_in_stack_segment():
return Color.pinkify(value)
return Color.colorify(value, attrs=stack_color)
return value

def is_in_text_segment(self):
Expand Down Expand Up @@ -3842,14 +3845,17 @@ def __init__(self, *args, **kwargs):
self.add_setting("dereference_base_address", "bold green", "Color of dereferenced address")
self.add_setting("dereference_register_value", "bold green" , "Color of dereferenced register")
self.add_setting("registers_register_name", "bold red", "Color of the changed register in register window")
self.add_setting("address_stack", "pink", "Color to use when a stack address is found")
self.add_setting("address_heap", "yellow", "Color to use when a heap address is found")
self.add_setting("address_code", "red", "Color to use when a code address is found")
return

def do_invoke(self, args):
self.dont_repeat()
argc = len(args)

if argc==0:
for item in self.settings:
for item in sorted(self.settings):
value = self.settings[item][0]
value = Color.colorify(value, attrs=value)
print("{:40s}: {:s}".format(item, value))
Expand Down Expand Up @@ -6350,14 +6356,15 @@ def do_invoke(self, argv):
if get_gef_setting("gef.disable_color")!=True:
code_color = get_gef_setting("theme.dereference_code")
str_color = get_gef_setting("theme.dereference_string")
print("[ Legend: {} | {} | {} | {} | {} ]".format( Color.colorify("Modified register",
attrs="bold red"),
Color.colorify("Code",
attrs=code_color),
Color.yellowify("Heap"),
Color.pinkify("Stack"),
Color.colorify("String",
attrs=str_color)
code_addr_color = get_gef_setting("theme.address_code")
stack_addr_color = get_gef_setting("theme.address_stack")
heap_addr_color = get_gef_setting("theme.address_heap")

print("[ Legend: {} | {} | {} | {} | {} ]".format( Color.colorify("Modified register", attrs="bold red"),
Color.colorify("Code", attrs=code_addr_color),
Color.colorify("Heap", attrs=heap_addr_color),
Color.colorify("Stack", attrs=stack_addr_color),
Color.colorify("String", attrs=str_color)
))

for section in current_layout:
Expand Down

0 comments on commit 07a8676

Please sign in to comment.