ethteck / splat

A binary splitting tool to assist with decompilation and modding projects
MIT License
149 stars 41 forks source link

`filename` attribute for symbols #358

Closed AngheloAlf closed 3 months ago

AngheloAlf commented 3 months ago

A way to handle mangled symbols names that may be invalid as filepaths.

I tried to make the error message to explain the issue as much as possible. It looks like this

Loading symbols (elf_symbol_addrs):   0%|                                        | 0/12114 [00:00<?, ?it/s]
error reading config/us/elf_symbol_addrs.txt, line 119:
        __opPCc__Q23std34_RefCountedPtr<c,Q23std9_Array<c>>CFv = 0x00202850; // size:0x1C type:func bind = <processor specific> 13
Ilegal symbol filename detected!
  The symbol
    __opPCc__Q23std34_RefCountedPtr<c,Q23std9_Array<c>>CFv
  exceeds the 255 bytes filename limit that most OS imposes or uses illegal characters,
  which will be a problem when writing the symbol to its own file.
  To fix this specify a `filename` for this symbol, like `filename:func_00202850`.
  Make sure the filename does not exceed 253 bytes nor it contains any of the following characters:
    ['<', '>', ':', '"', '/', '\\', '|', '?', '*']