binaryninja.interaction.get_form_input

get_form_input(fields, title)[source]

get_from_input Prompts the user for a set of inputs specified in fields with given title. The fields parameter is a list which can contain the following types:

  • str - an alias for LabelField

  • None - an alias for SeparatorField

  • LabelField - Text output

  • SeparatorField - Vertical spacing

  • TextLineField - Prompt for a string value

  • MultilineTextField - Prompt for multi-line string value

  • IntegerField - Prompt for an integer

  • AddressField - Prompt for an address

  • ChoiceField - Prompt for a choice from provided options

  • OpenFileNameField - Prompt for file to open

  • SaveFileNameField - Prompt for file to save to

  • DirectoryNameField - Prompt for directory name

This API is flexible and works both in the UI via a pop-up dialog and on the command-line. Note that more complicated APIs should consider using the included pyside2 functionality in the binaryninjaui module. Returns true or false depending on whether the user submitted responses or cancelled the dialog.

Parameters
Return type

bool

Example
>>> int_f = IntegerField("Specify Integer")
>>> tex_f = TextLineField("Specify name")
>>> choice_f = ChoiceField("Options", ["Yes", "No", "Maybe"])
>>> get_form_input(["Get Data", None, int_f, tex_f, choice_f], "The options")
Get Data
<empty>
Specify Integer 1337
Specify name Peter
The options
1) Yes
2) No
3) Maybe
Options 1
>>> True
>>> print(tex_f.result, int_f.result, choice_f.result)
Peter 1337 0