Skip to content

Provide a List of Call Sites That is Free of Synthetic Builtin Functions #7847

@utkonos

Description

@utkonos

What is the feature you'd like to have?
Add a new function property which returns a list of call sites that excludes any function in .synthetic_builtins.

Is your feature request related to a problem?
I have to add code to exclude these synthetic functions from my list of call sites. The only way this can be done is to have one of the ILs that includes the synthetics generated and then to traverse it to exclude synthetics. This is not ideal. I looked at the Python source for binaryninja.function and the list of call sites comes from core.BNGetFunctionCallSites(self.handle, count). It seems like the most optimal place to fix this is to add a flag/parameter to this call that excludes synthetics, but you all can determine the best fix. It probably should happen over the C++ border not in Python.

Are any alternative solutions acceptable?
I have a slow, in Python, cleaner function that traverses IL and excludes synthetics.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions