Skip to content

Commit 1718a2c

Browse files
committed
readme
1 parent 4034693 commit 1718a2c

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

README.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,38 @@ This fork exists for two reasons:
66
1) The NSA doesn't publish the ghidra jar to maven central, but we want to depend on it via regular maven coordinates in our java/scala builds.
77
2) We want to be able to make our own decision about patches, e.g. [this one](https://github.com/NationalSecurityAgency/ghidra/pull/5256) which works fine but for some reason hasn't been merged upstream - this fork [has it](https://github.com/joernio/ghidra/pull/3).
88

9+
Note: we want to keep things simple, one of them being the git history. If you look at this repository you'll see that we take upstream ghidra and apply our changes on top. Which brings us to...
10+
11+
## Howto: update to the latest ghidra upstream
12+
As mentioned above we want a simple git history and always have our changes _on top_, i.e. we never want to merge upstream changes into this repository. Instead, we rebase and force-push the changes to our fork's master. Some people might call that sinning, but simplicity is king, this is just a fork, and then there's yolo ¯\_(ツ)_
13+
14+
Prerequisite: remote 'upstream' is already set up, like so:
15+
```bash
16+
git remote add upstream [email protected]:NationalSecurityAgency/ghidra.git
17+
```
18+
19+
Then:
20+
```bash
21+
git pull origin
22+
git fetch upstream
23+
git rebase upstream/master
24+
git push -f
25+
```
26+
27+
## How can I run a release?
28+
Prerequisite: you need to have joern's sonatype credentials configured in your `~/.m2/settings.xml`, i.e. there should be an entry like this, which you can get from our sonatype central account.
29+
```xml
30+
<server>
31+
32+
<id>sonatype-central-joern</id>
33+
<username>MXQnCFgb</username>
34+
<password>SECRET_TOKEN</password>
35+
</server>
36+
```
37+
Context: [pom.xml.template](https://github.com/joernio/ghidra/blob/40346937b37889112cd4515e0535bf9e37f69a9a/pom.xml.template#L50) references the sonatype central server as `sonatype-central-joern`
38+
39+
Then you should be able to run `./ghidra-publish.sh` which will build ghidra, create a temporary maven project and publish it to sonatype central.
40+
941

1042
# Ghidra Software Reverse Engineering Framework
1143
Ghidra is a software reverse engineering (SRE) framework created and maintained by the

0 commit comments

Comments
 (0)