This repository was archived by the owner on Dec 24, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 296
Add a little function to make bigger changes #70
Copy link
Copy link
Open
Description
With ida_segment, it's possible to accesss the LOADER flag of a segment (BUT NOT A COMMON WAY USING A idc.py FUNCTION 😢), example :
b = 0x07ffe00000000
ida_segment.getseg(b).is_loader_segm()The function is_loader_segm is defined in ida_segment.py, and inherently use segment_t_is_loader_segm function from _ida_segment.
def is_loader_segm(self, *args) -> "bool":
r"""
is_loader_segm(self) -> bool
"""
return _ida_segment.segment_t_is_loader_segm(self, *args)Well, it does not exist a function in _ida_segment to know if a segment is a debugger one (i.e the D flag).
import _ida_segment
dir(_ida_segment)
['...', 'segm_adjust_diff', 'segm_adjust_ea', 'segment_defsr_array___getitem__', 'segment_defsr_array___len__', 'segment_defsr_array___setitem__', 'segment_defsr_array__get_bytes', 'segment_defsr_array__set_bytes', 'segment_defsr_array_data_get', 'segment_defsr_array_swiginit', 'segment_defsr_array_swigregister', 'segment_t___getDefsr', 'segment_t_abits', 'segment_t_abytes', 'segment_t_align_get', 'segment_t_align_set', 'segment_t_bitness_get', 'segment_t_bitness_set', 'segment_t_clr_comorg', 'segment_t_clr_ob_ok', 'segment_t_color_get', 'segment_t_color_set', 'segment_t_comb_get', 'segment_t_comb_set', 'segment_t_comorg', 'segment_t_defsr_get', 'segment_t_defsr_set', 'segment_t_end_ea_get', 'segment_t_end_ea_set', 'segment_t_flags_get', 'segment_t_flags_set', 'segment_t_is_16bit', 'segment_t_is_32bit', 'segment_t_is_64bit', 'segment_t_is_header_segm', 'segment_t_is_hidden_segtype',
'segment_t_is_loader_segm',
'segment_t_is_visible_segm', 'segment_t_name_get', 'segment_t_name_set', 'segment_t_ob_ok', 'segment_t_orgbase_get', 'segment_t_orgbase_set', 'segment_t_perm_get', 'segment_t_perm_set', 'segment_t_sclass_get', 'segment_t_sclass_set', 'segment_t_sel_get', 'segment_t_sel_set', 'segment_t_set_comorg', 'segment_t_set_debugger_segm', 'segment_t_set_header_segm', 'segment_t_set_hidden_segtype', 'segment_t_set_loader_segm', 'segment_t_set_ob_ok', 'segment_t_set_visible_segm', '...']So my asks for improvements are :
- Adding the segment_t_is_debugger_segm function in _ida_segment
- Adding the *def is_debugger_segm(self, args) function in ida_segment.py
- Adding the idc high level functions : is_loader_segm and is_debugger_segm
Metadata
Metadata
Assignees
Labels
No labels