IDAPython 8.4
Loading...
Searching...
No Matches
ida_segment.py File Reference

Classes

class  segment_defsr_array
 Proxy of C++ wrapped_array_t< sel_t,SREG_NUM > class. More...
 
class  segment_t
 Proxy of C++ segment_t class. More...
 
class  lock_segment
 Proxy of C++ lock_segment class. More...
 

Namespaces

namespace  ida_segment
 

Functions

"bool" set_segment_translations (*args)
 set_segment_translations(segstart, transmap) -> bool Set new translation list.
 
"bool" is_visible_segm (*args)
 is_visible_segm(s) -> bool See SFL_HIDDEN.
 
"bool" is_finally_visible_segm (*args)
 is_finally_visible_segm(s) -> bool See SFL_HIDDEN, SCF_SHHID_SEGM.
 
"void" set_visible_segm (*args)
 set_visible_segm(s, visible) See SFL_HIDDEN.
 
"bool" is_spec_segm (*args)
 is_spec_segm(seg_type) -> bool Has segment a special type?.
 
"bool" is_spec_ea (*args)
 is_spec_ea(ea) -> bool Does the address belong to a segment with a special type?.
 
"void" lock_segm (*args)
 lock_segm(segm, lock) Lock segment pointer Locked pointers are guaranteed to remain valid until they are unlocked.
 
"bool" is_segm_locked (*args)
 is_segm_locked(segm) -> bool Is a segment pointer locked?
 
"sel_t *, ea_t *" getn_selector (*args)
 getn_selector(n) -> bool Get description of selector (0..get_selector_qty()-1)
 
"size_t" get_selector_qty (*args)
 get_selector_qty() -> size_t Get number of defined selectors.
 
"sel_t" setup_selector (*args)
 setup_selector(segbase) -> sel_t Allocate a selector for a segment if necessary.
 
"sel_t" allocate_selector (*args)
 allocate_selector(segbase) -> sel_t Allocate a selector for a segment unconditionally.
 
"sel_t" find_free_selector (*args)
 find_free_selector() -> sel_t Find first unused selector.
 
"int" set_selector (*args)
 set_selector(selector, paragraph) -> int Set mapping of selector to a paragraph.
 
"void" del_selector (*args)
 del_selector(selector) Delete mapping of a selector.
 
"ea_t" sel2para (*args)
 sel2para(selector) -> ea_t Get mapping of a selector.
 
"ea_t" sel2ea (*args)
 sel2ea(selector) -> ea_t Get mapping of a selector as a linear address.
 
"sel_t" find_selector (*args)
 find_selector(base) -> sel_t Find a selector that has mapping to the specified paragraph.
 
"segment_t *" get_segm_by_sel (*args)
 get_segm_by_sel(selector) -> segment_t Get pointer to segment structure.
 
"bool" add_segm_ex (*args)
 add_segm_ex(NONNULL_s, name, sclass, flags) -> bool Add a new segment.
 
"bool" add_segm (*args)
 add_segm(para, start, end, name, sclass, flags=0) -> bool Add a new segment, second form.
 
"bool" del_segm (*args)
 del_segm(ea, flags) -> bool Delete a segment.
 
"int" get_segm_qty (*args)
 get_segm_qty() -> int Get number of segments.
 
"segment_t *" getseg (*args)
 getseg(ea) -> segment_t Get pointer to segment by linear address.
 
"segment_t *" getnseg (*args)
 getnseg(n) -> segment_t Get pointer to segment by its number.
 
"int" get_segm_num (*args)
 get_segm_num(ea) -> int Get number of segment by address.
 
"segment_t *" get_next_seg (*args)
 get_next_seg(ea) -> segment_t Get pointer to the next segment.
 
"segment_t *" get_prev_seg (*args)
 get_prev_seg(ea) -> segment_t Get pointer to the previous segment.
 
"segment_t *" get_first_seg (*args)
 get_first_seg() -> segment_t Get pointer to the first segment.
 
"segment_t *" get_last_seg (*args)
 get_last_seg() -> segment_t Get pointer to the last segment.
 
"segment_t *" get_segm_by_name (*args)
 get_segm_by_name(name) -> segment_t Get pointer to segment by its name.
 
"bool" set_segm_end (*args)
 set_segm_end(ea, newend, flags) -> bool Set segment end address.
 
"bool" set_segm_start (*args)
 set_segm_start(ea, newstart, flags) -> bool Set segment start address.
 
"bool" move_segm_start (*args)
 move_segm_start(ea, newstart, mode) -> bool Move segment start.
 
"char const *" move_segm_strerror (*args)
 move_segm_strerror(code) -> char const * Return string describing error MOVE_SEGM_... code.
 
"move_segm_code_t" move_segm (*args)
 move_segm(s, to, flags=0) -> move_segm_code_t This function moves all information to the new address.
 
"int" change_segment_status (*args)
 change_segment_status(s, is_deb_segm) -> int Convert a debugger segment to a regular segment and vice versa.
 
"bool" take_memory_snapshot (*args)
 take_memory_snapshot(type) -> bool Take a memory snapshot of the running process.
 
"bool" is_miniidb (*args)
 is_miniidb() -> bool Is the database a miniidb created by the debugger?.
 
"bool" set_segm_base (*args)
 set_segm_base(s, newbase) -> bool Internal function.
 
"int" set_group_selector (*args)
 set_group_selector(grp, sel) -> int Create a new group of segments (used OMF files).
 
"sel_t" get_group_selector (*args)
 get_group_selector(grpsel) -> sel_t Get common selector for a group of segments.
 
"bool" add_segment_translation (*args)
 add_segment_translation(segstart, mappedseg) -> bool Add segment translation.
 
"void" del_segment_translations (*args)
 del_segment_translations(segstart) Delete the translation list
 
"ssize_t" get_segment_translations (*args)
 get_segment_translations(transmap, segstart) -> ssize_t Get segment translation list.
 
"qstring *" get_segment_cmt (*args)
 get_segment_cmt(s, repeatable) -> str Get segment comment.
 
"void" set_segment_cmt (*args)
 set_segment_cmt(s, cmt, repeatable) Set segment comment.
 
"void" std_out_segm_footer (*args)
 std_out_segm_footer(ctx, seg) Generate segment footer line as a comment line.
 
"int" set_segm_name (*args)
 set_segm_name(s, name, flags=0) -> int Rename segment.
 
"qstring *" get_segm_name (*args)
 get_segm_name(s, flags=0) -> str Get true segment name by pointer to segment.
 
"qstring *" get_visible_segm_name (*args)
 get_visible_segm_name(s) -> str Get segment name by pointer to segment.
 
"qstring *" get_segm_class (*args)
 get_segm_class(s) -> str Get segment class.
 
"int" set_segm_class (*args)
 set_segm_class(s, sclass, flags=0) -> int Set segment class.
 
"uchar" segtype (*args)
 segtype(ea) -> uchar Get segment type.
 
"char const *" get_segment_alignment (*args)
 get_segment_alignment(align) -> char const * Get text representation of segment alignment code.
 
"char const *" get_segment_combination (*args)
 get_segment_combination(comb) -> char const * Get text representation of segment combination code.
 
"ea_t" get_segm_para (*args)
 get_segm_para(s) -> ea_t Get segment base paragraph.
 
"ea_t" get_segm_base (*args)
 get_segm_base(s) -> ea_t Get segment base linear address.
 
"bool" set_segm_addressing (*args)
 set_segm_addressing(s, bitness) -> bool Change segment addressing mode (16, 32, 64 bits).
 
"bool" update_segm (*args)
 update_segm(s) -> bool
 
"adiff_t" segm_adjust_diff (*args)
 segm_adjust_diff(s, delta) -> adiff_t Truncate and sign extend a delta depending on the segment.
 
"ea_t" segm_adjust_ea (*args)
 segm_adjust_ea(s, ea) -> ea_t Truncate an address depending on the segment.
 
"sel_t" get_defsr (*args)
 get_defsr(s, reg) -> sel_t Deprecated, use instead: value = s.defsr[reg]
 
"void" set_defsr (*args)
 set_defsr(s, reg, value) Deprecated, use instead: s.defsr[reg] = value
 
"int" rebase_program (*args)
 rebase_program(delta, flags) -> int Rebase the whole program by 'delta' bytes.
 

Variables

 SREG_NUM = _ida_segment.SREG_NUM
 
 saAbs = _ida_segment.saAbs
 
 saRelByte = _ida_segment.saRelByte
 
 saRelWord = _ida_segment.saRelWord
 
 saRelPara = _ida_segment.saRelPara
 
 saRelPage = _ida_segment.saRelPage
 
 saRelDble = _ida_segment.saRelDble
 
 saRel4K = _ida_segment.saRel4K
 
 saGroup = _ida_segment.saGroup
 
 saRel32Bytes = _ida_segment.saRel32Bytes
 
 saRel64Bytes = _ida_segment.saRel64Bytes
 
 saRelQword = _ida_segment.saRelQword
 
 saRel128Bytes = _ida_segment.saRel128Bytes
 
 saRel512Bytes = _ida_segment.saRel512Bytes
 
 saRel1024Bytes = _ida_segment.saRel1024Bytes
 
 saRel2048Bytes = _ida_segment.saRel2048Bytes
 
 saRel_MAX_ALIGN_CODE = _ida_segment.saRel_MAX_ALIGN_CODE
 
 scPriv = _ida_segment.scPriv
 
 scGroup = _ida_segment.scGroup
 
 scPub = _ida_segment.scPub
 
 scPub2 = _ida_segment.scPub2
 
 scStack = _ida_segment.scStack
 
 scCommon = _ida_segment.scCommon
 
 scPub3 = _ida_segment.scPub3
 
 sc_MAX_COMB_CODE = _ida_segment.sc_MAX_COMB_CODE
 
 SEGPERM_EXEC = _ida_segment.SEGPERM_EXEC
 
 SEGPERM_WRITE = _ida_segment.SEGPERM_WRITE
 
 SEGPERM_READ = _ida_segment.SEGPERM_READ
 
 SEGPERM_MAXVAL = _ida_segment.SEGPERM_MAXVAL
 
 SEG_MAX_BITNESS_CODE = _ida_segment.SEG_MAX_BITNESS_CODE
 
 SFL_COMORG = _ida_segment.SFL_COMORG
 
 SFL_OBOK = _ida_segment.SFL_OBOK
 
 SFL_HIDDEN = _ida_segment.SFL_HIDDEN
 
 SFL_DEBUG = _ida_segment.SFL_DEBUG
 
 SFL_LOADER = _ida_segment.SFL_LOADER
 
 SFL_HIDETYPE = _ida_segment.SFL_HIDETYPE
 
 SFL_HEADER = _ida_segment.SFL_HEADER
 
 SEG_NORM = _ida_segment.SEG_NORM
 
 SEG_XTRN = _ida_segment.SEG_XTRN
 
 SEG_CODE = _ida_segment.SEG_CODE
 
 SEG_DATA = _ida_segment.SEG_DATA
 
 SEG_IMP = _ida_segment.SEG_IMP
 
 SEG_GRP = _ida_segment.SEG_GRP
 
 SEG_NULL = _ida_segment.SEG_NULL
 
 SEG_UNDF = _ida_segment.SEG_UNDF
 
 SEG_BSS = _ida_segment.SEG_BSS
 
 SEG_ABSSYM = _ida_segment.SEG_ABSSYM
 
 SEG_COMM = _ida_segment.SEG_COMM
 
 SEG_IMEM = _ida_segment.SEG_IMEM
 
 SEG_MAX_SEGTYPE_CODE = _ida_segment.SEG_MAX_SEGTYPE_CODE
 
 ADDSEG_NOSREG = _ida_segment.ADDSEG_NOSREG
 
 ADDSEG_OR_DIE = _ida_segment.ADDSEG_OR_DIE
 
 ADDSEG_NOTRUNC = _ida_segment.ADDSEG_NOTRUNC
 
 ADDSEG_QUIET = _ida_segment.ADDSEG_QUIET
 
 ADDSEG_FILLGAP = _ida_segment.ADDSEG_FILLGAP
 
 ADDSEG_SPARSE = _ida_segment.ADDSEG_SPARSE
 
 ADDSEG_NOAA = _ida_segment.ADDSEG_NOAA
 
 ADDSEG_IDBENC = _ida_segment.ADDSEG_IDBENC
 
 SEGMOD_KILL = _ida_segment.SEGMOD_KILL
 
 SEGMOD_KEEP = _ida_segment.SEGMOD_KEEP
 
 SEGMOD_SILENT = _ida_segment.SEGMOD_SILENT
 
 SEGMOD_KEEP0 = _ida_segment.SEGMOD_KEEP0
 
 SEGMOD_KEEPSEL = _ida_segment.SEGMOD_KEEPSEL
 
 SEGMOD_NOMOVE = _ida_segment.SEGMOD_NOMOVE
 
 SEGMOD_SPARSE = _ida_segment.SEGMOD_SPARSE
 
 MOVE_SEGM_OK = _ida_segment.MOVE_SEGM_OK
 
 MOVE_SEGM_PARAM = _ida_segment.MOVE_SEGM_PARAM
 
 MOVE_SEGM_ROOM = _ida_segment.MOVE_SEGM_ROOM
 
 MOVE_SEGM_IDP = _ida_segment.MOVE_SEGM_IDP
 
 MOVE_SEGM_CHUNK = _ida_segment.MOVE_SEGM_CHUNK
 
 MOVE_SEGM_LOADER = _ida_segment.MOVE_SEGM_LOADER
 
 MOVE_SEGM_ODD = _ida_segment.MOVE_SEGM_ODD
 
 MOVE_SEGM_ORPHAN = _ida_segment.MOVE_SEGM_ORPHAN
 
 MOVE_SEGM_DEBUG = _ida_segment.MOVE_SEGM_DEBUG
 
 MOVE_SEGM_SOURCEFILES = _ida_segment.MOVE_SEGM_SOURCEFILES
 
 MOVE_SEGM_MAPPING = _ida_segment.MOVE_SEGM_MAPPING
 
 MOVE_SEGM_INVAL = _ida_segment.MOVE_SEGM_INVAL
 
 MSF_SILENT = _ida_segment.MSF_SILENT
 
 MSF_NOFIX = _ida_segment.MSF_NOFIX
 
 MSF_LDKEEP = _ida_segment.MSF_LDKEEP
 
 MSF_FIXONCE = _ida_segment.MSF_FIXONCE
 
 MSF_PRIORITY = _ida_segment.MSF_PRIORITY
 
 MSF_NETNODES = _ida_segment.MSF_NETNODES
 
 CSS_OK = _ida_segment.CSS_OK
 
 CSS_NODBG = _ida_segment.CSS_NODBG
 
 CSS_NORANGE = _ida_segment.CSS_NORANGE
 
 CSS_NOMEM = _ida_segment.CSS_NOMEM
 
 CSS_BREAK = _ida_segment.CSS_BREAK
 
 SNAP_ALL_SEG = _ida_segment.SNAP_ALL_SEG
 
 SNAP_LOAD_SEG = _ida_segment.SNAP_LOAD_SEG
 
 SNAP_CUR_SEG = _ida_segment.SNAP_CUR_SEG
 
 MAX_GROUPS = _ida_segment.MAX_GROUPS
 
 MAX_SEGM_TRANSLATIONS = _ida_segment.MAX_SEGM_TRANSLATIONS