Ghidra: Easier creation and sharing of Ghidra projects

Created on 12 Nov 2019  路  5Comments  路  Source: NationalSecurityAgency/ghidra

Opening and analyzing a file in Ghidra currently requires a somewhat lengthy process of first creating a project, then importing the sample to this project, and then finally opening the file. Furthermore, sharing Ghidra projects with others is currently only possible with a Ghidra server, which is inconvenient because often there is no server that both parties have access to.

I am suggesting several changes to the way "non-shared" projects are currently handled, or possibly implementing a new project type called "local project" which is based on it, in the following manner:

  • The .gpr file of a non-shared project seems to always be empty. I believe it serves no purpose other than being a file rather than a folder to open the project from. Furthermore, the .rep directory often compresses very well. I suggest to store the project as a compressed version of the .rep directory, as a single file.
  • Ghidra currently refuses to open a project if the username does not agree with the value stored in the project.prp file - I am suggesting to completely remove this obstacle so people can share Ghidra projects simply by passing along the project archive.
  • Finally, it would be very convenient if Ghidra could be called with the path to a file on disk as its parameter to directly create a project, import the file to it, and launch the CodeBrowser.

Most helpful comment

Export/import already exists

All 5 comments

Export/import already exists

Dear @mumbel, I assume you are referring to the _Archive Current Project_ and _Restore Current Project_ options? Thanks for pointing this out, I was unware of these before. They look very promising: It would be nice if there was an option to create a project that is stored as such an archive by default, that would implement my first two suggestions.

Just FYI, you can also export individual files using the File > Export Program... menu item in the CodeBrowser tool, which is handy if you just want to share a single analysis with someone (and not an entire project with all the files in it).

Export/import already exists

For me this is not an option. Earlier this week, my laptop had the SSD fail on me, with no backups of my ghidra projects. While I am able to copy over the .gpr and .rep dir, the project is always empty, meaning all of my progress is void. Call me dumb for not making a backup if you'd like, but I believe all the data I need to restore it is in the .rep/.gpr, meaning there has to be some way to restore it.

Copying the the project files should work. Perhaps some of the files living under the .rep dir have been corrupted?

I'm assuming you are using the File -> Open Project... action in the Front End, pointing the file chooser to the .rep directory? When you do this, do you get any interesting messages in the application log file?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gemini00 picture gemini00  路  3Comments

Barakat picture Barakat  路  3Comments

huettenhain picture huettenhain  路  3Comments

loudinthecloud picture loudinthecloud  路  3Comments

rrivera1849 picture rrivera1849  路  3Comments