Python idc.read_selection_start() Examples
The following are 7
code examples of idc.read_selection_start().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
idc
, or try the search function
.
Example #1
Source File: shellcode_hash_search.py From flare-ida with Apache License 2.0 | 6 votes |
def __init__(self): self.searchDwordArray = False self.searchPushArgs = False self.createStruct = False self.useDecompiler = False self.useXORSeed = False self.XORSeed = 0 #startAddr & endAddr: range to process if using_ida7api: self.startAddr = idc.read_selection_start() self.endAddr = idc.read_selection_end() else: self.startAddr = idc.SelStart() self.endAddr = idc.SelEnd() #hashTypes: list of HashTypes user confirmed to process self.hashTypes = [] ############################################################ # SearchParams ############################################################
Example #2
Source File: plugin_loader.py From vt-ida-plugin with Apache License 2.0 | 5 votes |
def search_with_wildcards(strict): search_vt = vtgrep.VTGrepSearch( addr_start=idc.read_selection_start(), addr_end=idc.read_selection_end() ) search_vt.search(True, strict)
Example #3
Source File: plugin_loader.py From vt-ida-plugin with Apache License 2.0 | 5 votes |
def search_for_bytes(): search_vt = vtgrep.VTGrepSearch( addr_start=idc.read_selection_start(), addr_end=idc.read_selection_end() ) search_vt.search(False)
Example #4
Source File: base.py From Sark with MIT License | 5 votes |
def get_selection(always=True): start = idc.read_selection_start() end = idc.read_selection_end() if idaapi.BADADDR in (start, end): if not always: raise exceptions.SarkNoSelection() ea = idc.here() start = idaapi.get_item_head(ea) end = idaapi.get_item_end(ea) return Selection(start, end)
Example #5
Source File: symbol_exec.py From miasm with GNU General Public License v2.0 | 5 votes |
def symbolic_exec(): from miasm.ir.symbexec import SymbolicExecutionEngine from miasm.core.bin_stream_ida import bin_stream_ida from utils import guess_machine start, end = idc.read_selection_start(), idc.read_selection_end() bs = bin_stream_ida() machine = guess_machine(addr=start) mdis = machine.dis_engine(bs) if start == idc.BADADDR and end == idc.BADADDR: start = idc.get_screen_ea() end = idc.next_head(start) # Get next instruction address mdis.dont_dis = [end] asmcfg = mdis.dis_multiblock(start) ira = machine.ira(loc_db=mdis.loc_db) ircfg = ira.new_ircfg_from_asmcfg(asmcfg) print("Run symbolic execution...") sb = SymbolicExecutionEngine(ira, machine.mn.regs.regs_init) sb.run_at(ircfg, start) modified = {} for dst, src in sb.modified(init_state=machine.mn.regs.regs_init): modified[dst] = src view = symbolicexec_t() all_views.append(view) if not view.Create(modified, machine, mdis.loc_db, "Symbolic Execution - 0x%x to 0x%x" % (start, idc.prev_head(end))): return view.Show() # Support ida 6.9 and ida 7
Example #6
Source File: mkyara_plugin.py From mkYARA with GNU General Public License v3.0 | 5 votes |
def get_selection(): start = idc.read_selection_start() end = idc.read_selection_end() if idaapi.BADADDR in (start, end): ea = idc.here() start = idaapi.get_item_head(ea) end = idaapi.get_item_end(ea) return start, end
Example #7
Source File: shellcode_hash_search.py From flare-ida with Apache License 2.0 | 5 votes |
def promptForRange(self): # Only run if QT not available, so not bothering with ida7 check #check if a range has already been selected - if so skip prompt if using_ida7api: selstart = idc.read_selection_start() selend = idc.read_selection_end() segstart = idc.get_segm_start(idc.here()) segend = idc.get_segm_end(idc.here()) else: selstart = idc.SelStart() selend = idc.SelEnd() seg = idc.SegStart(idc.here()) self.params.endAddr = idc.SegEnd(idc.here()) if selstart != idc.BADADDR: self.params.startAddr = selstart self.params.endAddr = selend logger.info('Processing range 0x%08x - 0x%08x', self.params.startAddr, self.params.endAddr) else: self.params.startAddr = segstart self.params.endAddr = segend logger.info('Processing current segment only') ################################################################### # ###################################################################