mirror of
https://codeberg.org/KeybadeBlox/JSRF-Decompilation.git
synced 2026-02-20 18:27:04 +03:00
Add note to avoid symbol conflicts when delinking
This commit is contained in:
parent
22a0e1fa9a
commit
9e638e0ec2
1 changed files with 8 additions and 2 deletions
|
|
@ -201,14 +201,20 @@ regenerating the table, however, make sure that you have all of it symbols
|
||||||
already in your project so that you don't end up deleting any. One option is
|
already in your project so that you don't end up deleting any. One option is
|
||||||
to import `symboltable.tsv` into your project with the `ImportSymbolsScript.py`
|
to import `symboltable.tsv` into your project with the `ImportSymbolsScript.py`
|
||||||
script as mentioned under "Creating a JSRF Ghidra Project," but be aware that
|
script as mentioned under "Creating a JSRF Ghidra Project," but be aware that
|
||||||
this will overwrite any names you've assigned to the same symbols.
|
this will overwrite any names you've assigned to the same symbols. You will
|
||||||
|
also have to ensure that no two symbols share the same name. This can be
|
||||||
|
avoided by using namespaces if need be (i.e. `X::symbol` and `Y::symbol` may
|
||||||
|
coexist), but function overloading must be avoided (you may not have one
|
||||||
|
function with the signature `void X::f(int)` and another with the signature
|
||||||
|
`void X::f(float)`), else errors can arise when delinking, as the delinker
|
||||||
|
extension does not mangle symbol names.
|
||||||
|
|
||||||
Once you're ready to export your symbols, open the symbol table
|
Once you're ready to export your symbols, open the symbol table
|
||||||
(`Window > Symbol Table`). Open the symbol filter window (cog button near the
|
(`Window > Symbol Table`). Open the symbol filter window (cog button near the
|
||||||
top right), and uncheck everything but "User Defined" under "Symbol Source,"
|
top right), and uncheck everything but "User Defined" under "Symbol Source,"
|
||||||
"Data Labels" and "Function Labels" under "Symbol Types," "Use Advanced
|
"Data Labels" and "Function Labels" under "Symbol Types," "Use Advanced
|
||||||
Filters," and "Non-Externals" under "Non-Externals." This ensures that you
|
Filters," and "Non-Externals" under "Non-Externals." This ensures that you
|
||||||
only export symbols that you've defined and are useful for delinking.
|
only export symbols that you've defined and that are useful for delinking.
|
||||||
|
|
||||||
Now we need to configure the columns that we want to export. Right-click on
|
Now we need to configure the columns that we want to export. Right-click on
|
||||||
one of the colum headers, click "Add/Remove Columns..." to open the "Select
|
one of the colum headers, click "Add/Remove Columns..." to open the "Select
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue