NationalSecurityAgency / ghidra

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

What's the process to update Ghidra to a new version? #421

Closed ddbb2017 closed 5 years ago

ddbb2017 commented 5 years ago

Sorry, I don't seem to find the answer to this.

Say, if I had v.9.0 installed already, I assumed that for an upgrade to v.9.0.2 I would unzip its files into its own folder and run it from there. But then if I do that all my projects that I've been working in v.9.0 are gone.

So what's the process to upgrade to a new version while preserving your projects and other settings?

marcomafcorp commented 5 years ago

I agree with the above question, the pic is the way I have my instances of Ghidra setup and it's not ideal. There has to be a better way.

Screen Shot 2019-04-15 at 1 33 31 PM
ddbb2017 commented 5 years ago

@marcomafcorp yeah but how do you transfer all the projects and other settings?

I haven't tried it yet but maybe they want us to overwrite the files in existing folder with the ones from the new version.

marcomafcorp commented 5 years ago

You're right ddbb2017, I only transfer my scripts and then start with a fresh Ghidra instance... They have to come up with a way asap. Because this sucks the way I'm currently doing it. It's not scalable.

ryanmkurtz commented 5 years ago

@ddbb2017, you simply open your existing project in your new version of Ghidra (File --> Open Project...).

Ristovski commented 5 years ago

So far I have been renaming my ~/.ghidra/.ghidra-9.0* folder to whatever the latest version I end up using is. This essentially 'migrates' all the configuration.

I reckon it's fine for now, but I can see how this could one day break when there are breaking changes in the configuration files.

Edit: As said in the next comment, this is done automatically on the first startup of the new version! TIL :)

ryanmkurtz commented 5 years ago

When you start up the new version of Ghidra, it should automatically pull your configuration from your newest ~/.ghidra/ directory and use that. You then just reopen whatever project you were working on. You can look at the first few lines of Ghidra's log to confirm it's doing that.