Live data from Hacker News

Binsider – A TUI for analyzing Linux binaries

binsider.dev

21–30 of 30 posts

Re: Binsider – A TUI for analyzing Linux binaries

#21
post #3

I don't really get why this is a TUI. Any time I actually hack on this sort of stuff, I'd rather have the outputs (eg. symbols, ELF sections/segments, strings, ...) directly on stdout so I can then further filter stuff or otherwise process it. Especially strings! The only part of this tool that seems to merit a TUI is the hex view...

The creator is a maintainer of a major Rust library for writing TUI applications, so it's almost certainly a just-because rather than something that is intuitively or practically better as a TUI.

Re: Binsider – A TUI for analyzing Linux binaries

#22

Earlier quoted context omitted.

One of the biggest benefits of a (good) TUI (or GUI) is that it guides someone who doesn't already know exactly what they want to do towards the most relevant information and the most common actions. Once you already know these things, it is usually faster and more powerful to work with code instead. With this TUI, someone who doesn't know very much about the internals of a binary gets that information presented them…

Great reply about TUI/GUI vs CLI! Well-designed TUIs help teach and navigate the mental model of a situation. I try to also have a CLI available for the TUI that helps extract data for terminal pipeline use. You can even have the TUI tell you what the CLI command would be. > So why a TUI instead of a GUI? Also, TUI is available in constrained environments and over SSH/serial. NB: the author's GitHub contribution grap…

You can even have the TUI tell you what the CLI command would be.

Most of the weird corners I know about Git workflows are because Magit offers the ability to explore via TUI but then see the literal command being run.

Re: Binsider – A TUI for analyzing Linux binaries

#23
post #3

I don't really get why this is a TUI. Any time I actually hack on this sort of stuff, I'd rather have the outputs (eg. symbols, ELF sections/segments, strings, ...) directly on stdout so I can then further filter stuff or otherwise process it. Especially strings! The only part of this tool that seems to merit a TUI is the hex view...

The creator is a maintainer of a major Rust library for writing TUI applications, so it's almost certainly a just-because rather than something that is intuitively or practically better as a TUI.

I should add - the fact that he dogfoods the library so frequently has no doubt improved the library a ton even if he never produced anything useful, which isn't true either. I'm glad he does so.

Re: Binsider – A TUI for analyzing Linux binaries

#24
post #3

I don't really get why this is a TUI. Any time I actually hack on this sort of stuff, I'd rather have the outputs (eg. symbols, ELF sections/segments, strings, ...) directly on stdout so I can then further filter stuff or otherwise process it. Especially strings! The only part of this tool that seems to merit a TUI is the hex view...

I always forget the precise flags for readelf/objdump etc., and in practice I do something like `readelf -a | less` and scroll until I find the info I was looking for. Scrolling around in `less` is pretty cumbersome for large outputs, and I wouldn't mind a TUI for it.

(I also forget the difference between a segment and a section, but I know what I'm looking for when I see it, heh)

Re: Binsider – A TUI for analyzing Linux binaries

#26
post #3

I don't really get why this is a TUI. Any time I actually hack on this sort of stuff, I'd rather have the outputs (eg. symbols, ELF sections/segments, strings, ...) directly on stdout so I can then further filter stuff or otherwise process it. Especially strings! The only part of this tool that seems to merit a TUI is the hex view...

[deleted]

Re: Binsider – A TUI for analyzing Linux binaries

#28
post #3

I don't really get why this is a TUI. Any time I actually hack on this sort of stuff, I'd rather have the outputs (eg. symbols, ELF sections/segments, strings, ...) directly on stdout so I can then further filter stuff or otherwise process it. Especially strings! The only part of this tool that seems to merit a TUI is the hex view...

One of the biggest benefits of a (good) TUI (or GUI) is that it guides someone who doesn't already know exactly what they want to do towards the most relevant information and the most common actions. Once you already know these things, it is usually faster and more powerful to work with code instead. With this TUI, someone who doesn't know very much about the internals of a binary gets that information presented them…

> It is also easier for many people to remember how to navigate a GUI/TUI to achieve a task than to use the CLI, likely because it makes use of the parts of our brain for navigating space

I'd be very very surprised if this were true for everyone. I'm certainly more symbol oriented than visually or spatially oriented, for instance, and the ways I AM spatially oriented doesn't map at all to common user interface elements.

Besides, many of the best interfaces (eg magit) aren't spatially oriented at all.

That said, I'll never complain at more interfaces even if I do prefer a query-and-response style interaction.

Re: Binsider – A TUI for analyzing Linux binaries

#29
post #18

Earlier quoted context omitted.

The demo screencaps are of the xz binary.

What I tried to emphasize is documentation, like how Binsider may have helped mitigate security issues (or help raise awareness of potential issues) with regarding to xz.

Oh! Yeah, that's a great idea :)

Re: Binsider – A TUI for analyzing Linux binaries

#30
post #5
post #3

I don't really get why this is a TUI. Any time I actually hack on this sort of stuff, I'd rather have the outputs (eg. symbols, ELF sections/segments, strings, ...) directly on stdout so I can then further filter stuff or otherwise process it. Especially strings! The only part of this tool that seems to merit a TUI is the hex view...

"llvm-readelf --elf-output-style=JSON | jq" is handy.

Nice haven't seen. Shameless plug fq support elf https://github.com/wader/fq and will have a look if i could lend some ideas from llvm-readelf
Post reply on HN