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

Run output through rustfilt (or similar) #5218

Open
aytey opened this issue Mar 27, 2024 · 1 comment
Open

Run output through rustfilt (or similar) #5218

aytey opened this issue Mar 27, 2024 · 1 comment
Labels
Component: Demangler Effort: Low Issue should take < 1 week Impact: Low Issue is a papercut or has a good, supported workaround Type: Enhancement Issue is a small enhancement to existing functionality

Comments

@aytey
Copy link

aytey commented Mar 27, 2024

What is the feature you'd like to have?

I am trying to run some Rust-compiled binaries through BinaryNinja (via Dogbolt), but, while some of the "standard" symbols from the Rust library get unmangled, "user-defined" symbols don't (and also some standard ones as well!).

I hope this links works, but here's an example:

You can see that some symbols are unmangled (e.g., std::io::stdio::_print::h9ced0fe1fdc237eb), but others (e.g., _RNvMs0_NtCsf8BuoUQGJw9_4core3fmtNtB5_9Arguments6new_v1Cs3D4dQeFb3sN_4rust) aren't.

Examples:

  • _RNvMs0_NtCsf8BuoUQGJw9_4core3fmtNtB5_9Arguments6new_v1Cs3D4dQeFb3sN_4rust == <core::fmt::Arguments>::new_v1
  • _RNvCs3D4dQeFb3sN_4rust5quack == rust::quack

Is your feature request related to a problem?

No; this is a "quality of life" improvement

Are any alternative solutions acceptable?

I can copy the output out of Dogbolt and run in through rustfilt myself.

Additional Information:

I originally reported this "idea" here:

I am happy to share binaries if it helps (but I believe that tool vendors on Dogbolt already have access to the binaries I submit).

@xusheng6 xusheng6 added Type: Enhancement Issue is a small enhancement to existing functionality Component: Demangler Impact: Low Issue is a papercut or has a good, supported workaround Effort: Low Issue should take < 1 week labels Apr 2, 2024
@plafosse
Copy link
Member

plafosse commented Apr 2, 2024

We should probably just bite the bullet and do this: #467

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Demangler Effort: Low Issue should take < 1 week Impact: Low Issue is a papercut or has a good, supported workaround Type: Enhancement Issue is a small enhancement to existing functionality
Projects
None yet
Development

No branches or pull requests

3 participants