Skip to content

Library Function Symbol Does Not Show When Analysis is Headless #7840

@utkonos

Description

@utkonos

Version and Platform (required):

  • Binary Ninja Version: 5.3.8837-dev Ultimate, d2d9934a
  • OS: macos
  • OS Version: 26.2.0
  • CPU Architecture: arm64

Bug Description:
If a BNDB is generated headless, the _DllMainCRTStartup LibraryFunctionSymbol does not show in the Symbols pane when opening this database in the GUI. The symbol is there in both cases, but it will not show when the database is opened later in the GUI. Below I have shown the symbol list at that location showing the expected symbol, but check the screenshot (or a bndb you make yourself) and the Symbols pane does not show this symbol for some reason.

Steps To Reproduce:
In the following pf is just the raw file in the project.

bv = binaryninja.load(pf)
tdp = pathlib.Path(td)
dest = tdp.joinpath(f'{pf.name}.bndb')
bv.create_database(dest)
bv.file.close()
p.create_file_from_path(dest, f, dest.name)

Expected Behavior:
The BNDB created in the GUI should be the same as one created headless.

Screenshots:
Created in GUI:

Image

Generated headless:

Image

Binary:
Example Database Generated Headless: geometric night breaks personally
Original Binary: sun quartz bootstraps equally

Additional Information:
Symbol List GUI:

>>> bv.get_symbols(current_function.start)
[<FunctionSymbol: "_start" @ 0x1801d4880>, <LibraryFunctionSymbol: "_DllMainCRTStartup" @ 0x1801d4880>]

And Headless:

>>> bv.get_symbols(current_function.start)
[<FunctionSymbol: "_start" @ 0x1801d4880>, <LibraryFunctionSymbol: "_DllMainCRTStartup" @ 0x1801d4880>]

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