mirror of
https://codeberg.org/KeybadeBlox/JSRF-Decompilation.git
synced 2026-02-20 18:27:04 +03:00
Documentation enhancements for delink.sh
Thanks to Shanghao for helping find and test these different issues.
This commit is contained in:
parent
91537e765a
commit
cef08bf624
1 changed files with 21 additions and 7 deletions
|
|
@ -93,10 +93,10 @@ should be all ready for creating object files for objdiff.
|
||||||
|
|
||||||
|
|
||||||
### Producing Object Files
|
### Producing Object Files
|
||||||
Close all of your Ghidra windows and open a shell in the decompilation
|
Close all of your Ghidra windows and open a Unix-style shell (e.g. Git Bash if
|
||||||
repository's `delink/` directory. The `delink.sh` script is our automated tool
|
on Windows) in the decompilation repository's `delink/` directory. The
|
||||||
for extracting all the object files that have been identified so far. Invoke
|
`delink.sh` script is our automated tool for extracting all the object files
|
||||||
it with three arguments:
|
that have been identified so far. Invoke it with three arguments:
|
||||||
|
|
||||||
- The path to your Ghidra installation (the directory with files like
|
- The path to your Ghidra installation (the directory with files like
|
||||||
`ghidraRun` and `ghidraRun.bat`, and directories like `docs/` and
|
`ghidraRun` and `ghidraRun.bat`, and directories like `docs/` and
|
||||||
|
|
@ -105,13 +105,27 @@ it with three arguments:
|
||||||
directory with a name ending in `.rep`)
|
directory with a name ending in `.rep`)
|
||||||
- The name of your JSRF Ghidra project
|
- The name of your JSRF Ghidra project
|
||||||
|
|
||||||
There are two common errors you might get here:
|
If you're on Windows, the paths you provide should be Windows filepaths, not
|
||||||
|
Unix-style paths. Make sure the paths are surrounded by quotes, too (e.g.
|
||||||
|
`'C:\path\to\whatever'`), else the shell won't understand the backslashes
|
||||||
|
correctly.
|
||||||
|
|
||||||
|
There are a couple errors you might get here:
|
||||||
|
|
||||||
- `Unable to lock project!`: This means that Ghidra isn't fully closed. Make
|
- `Unable to lock project!`: This means that Ghidra isn't fully closed. Make
|
||||||
sure you've completely closed every Ghidra window before running `delink.sh`.
|
sure you've completely closed every Ghidra window before running `delink.sh`.
|
||||||
- `Script not found: DelinkProgram.java` and
|
- `Script not found: DelinkProgram.java` and
|
||||||
`Invalid script: DelinkProgram.java`: This means that the Ghidra delinker
|
`Invalid script: DelinkProgram.java`: This means that the either the Ghidra
|
||||||
extension isn't properly installed. Ensure it's installed and enabled first.
|
delinker extension isn't properly installed, or you've somehow invoked the
|
||||||
|
script in a way that can't see the extension (e.g. installing Ghidra on
|
||||||
|
Windows and then invoking the script from WSL). Ensure it's installed and
|
||||||
|
enabled first, and that you're not running in some kind of environment
|
||||||
|
different from where you installed Ghidra.
|
||||||
|
- `java.lang.RuntimeException: Failed to export ...`: This means that the
|
||||||
|
delinker extension doesn't like something about what it was told to delink.
|
||||||
|
One known cause is duplicate symbol names. If you haven't modified
|
||||||
|
`objects.csv` or `symboltable.tsv`, let other people on the project know so
|
||||||
|
that they can look into fixing it.
|
||||||
|
|
||||||
If all goes well, you'll see the message `Delinking complete!` at the end of
|
If all goes well, you'll see the message `Delinking complete!` at the end of
|
||||||
the script's output, and the extracted object files will be in the
|
the script's output, and the extracted object files will be in the
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue