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

Remove qt #2278

Open
stevemk14ebr opened this issue Jan 19, 2020 · 6 comments
Open

Remove qt #2278

stevemk14ebr opened this issue Jan 19, 2020 · 6 comments
Labels

Comments

@stevemk14ebr
Copy link

@stevemk14ebr stevemk14ebr commented Jan 19, 2020

What is your opinion on moving away from QT. Perhaps something like imgui. This would make compilation much simpler, increase easyness of rapid prototyping UI (+plugins), and still support old systems.

@mrexodia

This comment has been minimized.

Copy link
Member

@mrexodia mrexodia commented Jan 19, 2020

A very definitive no with regards to moving away. Most obviously the rewrite would be an immense task without obvious benefits. The other reason is that imgui does not work over remote desktop because it needs a fast renderer like opengl or directx. There are some software solutions out there, but I don’t expect it to work.

That being said, it is possible (and supposedly quite easy) to embed OpenGL in a Qt widget so if your wish is to allow rapid prototyping something could be developed for that.

@stevemk14ebr

This comment has been minimized.

Copy link
Author

@stevemk14ebr stevemk14ebr commented Jan 19, 2020

That's totally fair and those are good reasons. And yea my main concern was rapid prototyping. It's also kinda awkward to use a QT version that's so old and mixing the usage of the qt studio with another compiler. But i understand why it is like it is. I had this grand idea of re-writing it all in imgui so i wanted your opinion first

@mrexodia

This comment has been minimized.

Copy link
Member

@mrexodia mrexodia commented Jan 19, 2020

For your personal use you can use whatever Qt (and Visual Studio) version you desire. There is also a Qt plugin for VS that should work. If you find any issues with newer Qt/VS versions PRs are welcomed. I got things to compile with Qt 5.13(?) and VS2019 locally.

Also note that if you don’t care about the GUI you don’t have to compile it, just place x64gui.dll from a release package and everything should work.

I definitely think there is room for imgui, perhaps you can try doing a prototype plugin that uses it to see how useful it actually is?

@mrexodia mrexodia added the question label Jan 19, 2020
@stevemk14ebr stevemk14ebr changed the title Remove qt [discuss] Remove qt Jan 19, 2020
@stevemk14ebr

This comment has been minimized.

Copy link
Author

@stevemk14ebr stevemk14ebr commented Jan 19, 2020

I will consider writing a plugin for this, that's an interesting middle path that would be cool for plugins especially. I'm currently having an internal debate whether the dll loader i'm working on should be imgui or Qt. It would be an 'external' program so being imgui would be fine from a technical stance, but it would be a different UI style compared to the rest of x64dbg so it might be odd for a user? Not sure.

@mrexodia

This comment has been minimized.

Copy link
Member

@mrexodia mrexodia commented Jan 20, 2020

Relevant link: https://github.com/seanchas116/qtimgui

I think if you go for an external DLL loader it doesn't matter because almost nobody will end up using it 😉 The UI itself should be pretty trivial, the interesting part is more the JIT and integration so if imgui works it should be enough...

@stevemk14ebr

This comment has been minimized.

Copy link
Author

@stevemk14ebr stevemk14ebr commented Jan 20, 2020

Ok well the JIT is done, so i'm working on integration & ui stuff now. I don't want people to not use it so i think replacing the titanloader dll loader with my work is the right path. That way it's integrated into x64dbg, but still seperated in code. Maybe v1 will be imgui UI and then we can port to QT later? I don't want it to be TOTALLY seperate (x64dbg must call it at some point) because you are right no one will use it then.

Edit: linking for others: #1908

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

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.