Vector35 / Vector35/binaryninja-api

TypeLibrary Explorer & Editor UI

Open
#3,749 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: Type Libraries Component: UI Effort: Medium Impact: Medium
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

What is the feature you'd like to have?
I want to display to look like after.png's function call, not like before.png's function call, when I load binary to binja.
This would require updating existing function definitions or defining function definitions. (For example, I want to update mmap function definitions.)

before
before.png

after
after.png

However, since mmap is already defined in typelib/x86_64/libc.so.6.bntl, I think there is no other way to change mmap function definitions but to update typelib/x86_64/libc.so.6.bntl. (If you have a way to do this, please let me know.)

So I would like an easy way to update function definitions in another typelib without updating the existing typelib/x86_64/libc.so.6.bntl.

Additional Information:
By the way, I generated a new typelibrary by this code(https://github.com/pr0xy-t/binaryninja-plugin/blob/main/snippets/Build_Type_Lib.py),and overwrote the default typelibrary(typelib/x86_64/libc.so.6.bntl) then I generated after.png.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing snippets/Build_Type_Lib.py and the existing typelib/x86_64/libc.so.6.bntl referenced in the report. Clarify the TypeLibrary Explorer and Editor entry points, then define how users can update or override function definitions in another typelibrary without replacing the existing libc typelibrary; done means the mmap call displays with the requested definition.

Written by the indexing model from the issue text.

Assessment

Domain
reverse-engineering, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.