def below(ea, includeSegment=False): '''Return all of the function names and their offset that are called by the function at `ea`.''' tryhard = lambda ea: "{:s}{:+x}".format(func.name(func.top( ea)), ea - func.top(ea)) if func.within(ea) else "{:+x}".format( ea) if func.name(ea) is None else func.name(ea) return '\n'.join(':'.join( [segment.name(ea), tryhard(ea)] if includeSegment else [tryhard(ea)]) for ea in func.down(ea))
def above(ea, includeSegment=False): '''Return all of the function names and their offset that calls the function at `ea`.''' tryhard = lambda ea: "{:s}{:+x}".format(func.name(func.top( ea)), ea - func.top(ea)) if func.within(ea) else "{:+x}".format( ea) if func.name(ea) is None else func.name(ea) return '\n'.join( ':'.join((segment.name(ea), tryhard(ea)) if includeSegment else (tryhard(ea), )) for ea in func.up(ea))
def below(ea, includeSegment=False): '''Display all the functions that the function at /ea/ can call''' tryhard = lambda ea: "{:s}+{:x}".format(database.name(function.top( ea)), ea - function.top(ea)) if function.within( ea) else "+{:x}".format(ea) if database.name( ea) is None else database.name(ea) return '\n'.join( ':'.join((segment.name(ea), tryhard(ea)) if includeSegment else (tryhard(ea), )) for ea in function.down(ea))
def below(ea, includeSegment=False): '''Return all of the function names and their offset that are called by the function at `ea`.''' tryhard = lambda ea: "{:s}{:+x}".format(func.name(func.top(ea)), ea - func.top(ea)) if func.within(ea) else "{:+x}".format(ea) if func.name(ea) is None else func.name(ea) return '\n'.join(':'.join((segment.name(ea), tryhard(ea)) if includeSegment else (tryhard(ea),)) for ea in func.down(ea))