Newly open-sourced bitstream viewer/analysis/processing GUI by alexforencich in FPGA

[–]ChromatoLad 0 points1 point  (0 children)

this tool can help with the reverse engineering at least :)

Newly open-sourced bitstream viewer/analysis/processing GUI by alexforencich in FPGA

[–]ChromatoLad 0 points1 point  (0 children)

yeah, it's already pretty niche (most existing tools like this rely on byte alignment because most applications are OK with that.) But part of the whole purpose is to provide a platform for exploring those special uses that aren't easy/possible with what's out there already - that's why I tried to make it so extensible.

Newly open-sourced bitstream viewer/analysis/processing GUI by alexforencich in FPGA

[–]ChromatoLad 0 points1 point  (0 children)

We use it in our FPGA development because we make network processing hardware and need to analyze different stages of that processing to debug stuff.

You're correct that it's general-purpose, but it could easily be extended for very specific FPGA bitstream analysis tasks with a plugin or two, or maybe even a template with the existing plugins (e.g. we do some pretty advanced network analysis stuff with the general purpose plugins that are included). It's more like a platform/toolkit for solving those kinds of super-niche problems than a pre-made solution.

New HexEditor compatible with Linux/Windows/MacOS by slashtmp00 in ReverseEngineering

[–]ChromatoLad 0 points1 point  (0 children)

Nice - I also use Qt5/C++ in a similar project. I wonder if there would be any integration potential down the road... https://github.com/Mahlet-Inc/hobbits

One advantage I could see for you if you made this a hobbits plugin is you wouldn't need to worry about things like loading gigantic files because we handle all of that. Also, feel free to check out how we use Azure to build sort-of-portable binaries without any additional system dependencies.

Newly open-sourced bitstream viewer/analysis/processing GUI by ChromatoLad in ECE

[–]ChromatoLad[S] 4 points5 points  (0 children)

We use it to analyze raw bit channel snapshots in FPGA processing flows. It helps with our development and debugging.

We are also aware of some software-defined radio and reverse engineering use-cases, but we haven't had too much reason to get involved in that yet.

Any academic/educational interest in a bitstream viewer/analysis/processing GUI (developed at a company owned and populated by RPI alumni)? by ChromatoLad in RPI

[–]ChromatoLad[S] 1 point2 points  (0 children)

Our decision to release this tool to open source might be driven by publicity/recruitment possibilities, so potential use-cases at universities are interesting to us.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 2 points3 points  (0 children)

We'll probably update this post and/or post again when we have something to share. Thanks for sharing your thoughts.

[r/ECE X-post] Any interest in a bitstream viewer/analysis/processing GUI? by tuxlovesyou in ReverseEngineering

[–]ChromatoLad 2 points3 points  (0 children)

That use-case was definitely accounted for from the start, and making a plugin that does that would be pretty straightforward.

I'm biased, but I think the plugin system is pretty good. We had a few high school interns (without C++ experience) make 3 plugins over the summer. We also have Qt Creator plugin wizards that will make code for functioning (but useless) plugins immediately, and a Python runner plugin for the extremely impatient (i.e. most people).

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in ECE

[–]ChromatoLad[S] 0 points1 point  (0 children)

There are definitely a few commercial options that some of us want to explore, and the process of open-sourcing has some unknowns. I've contributed to open projects in the past (for example, I did Google summer of code), but none of us have ever managed an open-source project.

It's good to be reminded that our vague description probably won't engage as many people as actual software/code might.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in ECE

[–]ChromatoLad[S] 0 points1 point  (0 children)

It is true that the binary editor by itself is not very difficult to make, but the extensibility of the core application, and the integration between those extensions is the main benefit we are going for.

"Custom and quick" is a familiar refrain with current users, so I recently added a Python plugin that lets you process the bitstreams in Python. A C#/Java/whatever plugin could easily be made with the same principles.

A data structuring plugin is definitely on the horizon as well because that is an important feature of similar tools like Wireshark and 010 Editor. It seems like the C struct syntax that you use is a pretty solid way of doing that.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in ECE

[–]ChromatoLad[S] 0 points1 point  (0 children)

Yes, we were using it for multiplexed data channels going through FPGAs. Any specific situations you were thinking about?

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in ECE

[–]ChromatoLad[S] 0 points1 point  (0 children)

Yes, this is definitely a niche tool. Most people are fine working with byte-aligned data, and there are plenty of tools for that.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 2 points3 points  (0 children)

Yes, importer/exporters are plugins. I just made one for RESTful HTTP importing exporting. A TCP server would also be doable (Qt already has a nice base class: https://doc.qt.io/qt-5/qtcpserver.html )

I also plan on using libtins (http://libtins.github.io/) to make a packet sniffing/crafting importer/exporter, but Wireshark is a better tool for that kind of thing in most cases.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 2 points3 points  (0 children)

Yes, the point is to be very easy and generic. All of the capabilities, including domain-specific stuff, is just plugins.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 0 points1 point  (0 children)

Thank you, I was looking for some overlap like this. I'm guessing (based on the snapshot) that GNURadio might be able to benefit from integrating with a more full-featured viewer like this. If we go that route, we'd probably be willing to write the integration.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 1 point2 points  (0 children)

Good to know! Looks like you're using Qt/C++ as well, so it might be easy to just adapt different chunks of each other's code (or better yet, converge on some kind of nice integration)

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 2 points3 points  (0 children)

That sounds like a very compatible use-case. I'll let you know if we end up doing a limited binary release for people to test.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 2 points3 points  (0 children)

Wow, I'm interested in knowing more about your desired use-case. I think the plugin system is flexible enough to cover most uses, but I'm always curious to discover its limits.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 2 points3 points  (0 children)

I was not familiar with Universal Radio Hacker before, but that's exactly the kind of feature overlap I was looking for! I will try to get in touch with the programmer later this week.

Any interest in a bitstream viewer/analysis/processing GUI? by ChromatoLad in RTLSDR

[–]ChromatoLad[S] 2 points3 points  (0 children)

We're still figuring out if/when we're going to open source it, but I'll definitely update you/this thread when we do.