Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Iaito – A Qt and C++ GUI for radare2 reverse engineering framework (github.com/hteso)
171 points by adsche on March 29, 2017 | hide | past | favorite | 34 comments


> I had never coded Qt nor C++ until I started Iaitō,

Well, a project like that is surely a good way to just jump right in and learn it! Kudos for that!


I just want to say this is awesome, have always been looking for examples of how to do QT ui that just looks right.

When you are adding windows support drop by the msys2 irc channel on OFTC. We have support for qt5 using mingw with premade packages available in pacman.

A lot of effort went into qt5 support by alexey.


Out of interest: how do your packages differ from the official (MinGW-backed) build at https://www.qt.io/download-open-source/#section-2 ?


MSVC is the main target for windows for qt5.

They do provide a mingw version to support the community of devs and are great for accepting code upstream.

With most projects however mingw targets are often somewhat neglected and broken even with release versions in some subtle ways.

Our Mingw packages are actually used more broadly by devs on a daily basis and tested regularly by a package manager with other projects that depend on qt5.

Fixes end up in msys2 before they reach qt5 upstream because of that, some times we have too many as you can see here.

https://github.com/Alexpux/MINGW-packages/tree/master/mingw-...

We also have static builds and 64bit support for the mingw-w64 target as previously mentioned by jsheard


I'm not him, but the official Qt MinGW builds don't have 64-bit or static variants. MSYS2 has both.


I already added windows support with msvc yesterday.


Really appreciate the choice of Qt and not Electron.


True, I feel electron stack is like a cancer for native apps.


It's a false dichotomy. The people who use electron are generally not people who know Qt. So the choice isn't app in electron vs app in qt but app in electron vs no app at all.


It depends. Obviously if you're an experienced front end web developer then Electron is an easy choice, and the benefits of using your existing knowledge probably outweighs the speed/resource benefits of a native app, especially for something simple.

A lot of people think Electron is easy to use for everyone though. I fell into this trap last year, I've been doing HTML/CSS since I was in school, and I'm comfortable enough in JS. But once things started getting complex with my project, I realised I was going to need to use some of the bigger frameworks that I'm not familiar with. I started trying to build something with React, Redux, and all the various things that go with it, got overwhelmed, and gave up.

I've recently gone back to the original idea I had, and started from scratch in Qt, with no knowledge of it. It was a bit of a learning curve at the start, but overall the learning experience has been a lot easier than trying to learn the entire current JavaScript ecosystem.

I would say Electron is a good choice for JS experts or simple programs, but otherwise I'd recommend at least giving Qt a try.


if it's a simple program, why would you want to include a few hundred megabytes of dependencies? Seems like a good opportunity to learn something better.


On the other hand, the people who use electron are generally people who should be using Qt.


QML should be a relatively easy pickup for JS/HTML devs.

https://github.com/Esri/arcgis-appstudio-samples/wiki/Unders...


20 years ago people said the same thing about Java applets opening the web to hordes of developers without HTML experience. Doesn't make the result good.


To be fair:

"I had never coded Qt nor C++ until I started Iaitō, ..."


The fact that the author even knows about radare let alone put quite a bit of effort into building a ui for it suggests that he's no stranger to lower level programming tho.


But the code is definitely slanted towards a C style, not C++, and they are very different languages. (He prefers C strings vs C++ strings, for example).


I haven't looked at his code, but why would he use either if he's using Qt? Qt has its own QString class that's far superior to C++'s native strings.


Exactly, the people who use electron are obviously not capable of learning QT, and therefore can't make apps if they aren't using Electron. /s


I feel that `/s` usually should be included at the beginning of the statement. Could save some momentary triggers.


I felt the same after first encountering an app built with electron. The apps made with electron never felt native and just felt like they were another 'chrome apps'. Atom Editor never felt native prior to knowing anything about Electron.


At a certain level of complexity most apps cease to feel native. The interfaces of iTunes and Xcode don't feel very native...

But with that said, the fact that Blender launches instantaneously on my machine and that I can time Atom's launch with a wall clock is kind of silly.


Seconded. I'd really like to see more use of Qt; it's cross-platform and high performance.


It's really great. Even if I know Qt and C++, I spent some time in ElectronJS. ElectronJS <<<<<<<<<<<< Qt + WebKit. This javascript is a weird language and killed a lot of time by simply providing many choices, some of which are horrible, but widely used.


That looks absolutely great. Radare2 is amazing software, and this seems like a good GUI for a first release and a massive improvement to current reverse engineering and open source solutions.

If the author is lurking around, is it possible to rename the functions listed on the side? I am not at home and cannot test it out.


For those who might want a somewhat indirect introduction to radare...

Here's something from Linuxconf.au and hacking Thinkpads:

https://youtu.be/Fzmm87oVQ6c


For those looking for a more direct introduction to radare, you can view a simple walkthrough for analyzing a binary here: https://youtu.be/3NTXFUxcKPc?t=513


This is great...

I did wonder why Qt 5.3 was used along with QWebView (QWebEngine[View] and friends are the way forward apparently)

Hope to see it on windows soon.


What's the relationship of this project to Bokken (GTK+ r2 GUI, <https://bitbucket.org/inguma/bokken>)? Is Bokken just dead?


Well, there's code of Bokken in this project, so I guess they're basing this project on it.


Seeing as the last commit was Dec. 2015, I think it's safe to say it's dead.


that looks really good, I am really looking forward to using this

i think radare has scared a lot of re beginners because the UI was not very intuitive, i'd love to see that change


i notice your .ui files have a lot of stylesheets in them, did you edit them by hand or did you use some tool?

looks great btw!


I believe he used Qt Creator.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: