Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Binja creates additional ARM functions at thumb sites for binaries with DWARF #4798

Closed
lwerdna opened this issue Dec 6, 2023 · 1 comment
Assignees
Milestone

Comments

@lwerdna
Copy link
Contributor

lwerdna commented Dec 6, 2023

Version and Platform (required): Binja 3.6 on MacOS Sonoma, M3

Bug Description: Unnecessary arm functions will be created at thumb functions.

Steps To Reproduce: Open hello.zip and navigate to helper at 0x8230. There's a messed up ARM one (where thumb instructions are interpreted as ARM) and a good thumb one:

image

Alternatively you can get this behavior from the python console:

>>> [f for f in bv.functions if f.name == 'helper']
[<func: thumb2@0x8230>, <func: armv7@0x8230>]

Expected Behavior: Only the thumb function should be made.

Additional Information:

There is a ARM mapping symbol for this address, marking it as thumb:

image

And the symbol for helper contains the lsb mark for thumb:

image

And Binja saw all the function he had made, and it was very good.

But then came DWARF info, giving us a symbol without the thumb lsb mark:

image

And Binja, unquestioning, makes a function at this address with the default architecture: ARM.

@lwerdna lwerdna added this to the Dorsai milestone Dec 6, 2023
@ElykDeer
Copy link
Member

ElykDeer commented Dec 6, 2023

This should be fixed in builds >3.6.4701-dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants