NationalSecurityAgency / ghidra

Ghidra is a software reverse engineering (SRE) framework
https://www.nsa.gov/ghidra
Apache License 2.0
52.2k stars 5.91k forks source link

Feature request: Integrate Ghidra to JetBrains IDEA ecosystem #3132

Closed kser93 closed 3 years ago

kser93 commented 3 years ago

As one knows, Ghidra uses custom Java-based GUI. It may be useful to use some existing environment platform instead. There are plenty of them: IBM Eclipse, Microsoft Visual Studio (unfriendly with Java), JetBrains IDEA. The last provides modern, fast, powerful and flexible framework for building different IDEs with DSLs (using MPS metamodel). So I'd like to request implementation of Ghidra UI on the basis of JetBrains IDEA framework.

fmagin commented 3 years ago

Not sure what you mean with "custom Jaba-based GUI", I think Ghidra just uses Swing? And the IntelliJ IDEA GUI Designer does support Swing.

If you are asking how to develop Ghidra itself with IntelliJ instead of Eclipse to use this functionality: If you want to develop extensions: it's fairly easy, pretty much just open the extension folder in IntelliJ If you want to develop Ghidra itself with IntelliJ IDEA: Requires some tricks, but still doable. I have a setup for this, and a vaguely planned blogposts about the details.

Otherwise I am confused what you expect, rewriting the entire GUI in another framework is an absolutely nontrivial task and I don't see a benefit to it, so you should make that case clearer if this was your intent.

kser93 commented 3 years ago

I'm sorry for not very clear description of my proposal. I mean, can it be reasonable to use an existing codebase of Intellij? How complex can porting be? Does it look useful anyway?

ryanmkurtz commented 3 years ago

Rewriting the entire GUI in a different framework is not on our short or long-term radar. Whatever benefits that may come from it would not be worth the large amount of time spent on it. That time will be better served on other areas of the project.