Editing NID
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 7: | Line 7: | ||
</source> | </source> | ||
where suffixes can be found [https://playstationdev.wiki/psvitadevwiki/index.php?title=Keys#NID_generation_suffixes here]. | |||
== PSP == | == PSP == | ||
PSP NIDs had no suffix until a certain | PSP NIDs had no suffix until a certain FW. | ||
After that FW, the suffix is unknown. | |||
== PS3 == | == PS3 == | ||
=== Regular exports === | === Regular exports === | ||
ps3_nid_suffix: 6759659904250490566427499489741A | |||
To calculate FNID value of exported/imported symbol from .PRX you need to take SHA-1 hash over concatenation of symbol's name and ps3_nid_suffix and then grab first 4 bytes from it and reverse these bytes (because of little-endian). | To calculate FNID value of exported/imported symbol from .PRX you need to take SHA-1 hash over concatenation of symbol's name and ps3_nid_suffix and then grab first 4 bytes from it and reverse these bytes (because of little-endian). | ||
Line 32: | Line 34: | ||
=== NONAME exports === | === NONAME exports === | ||
ps3_noname_nid_suffix: 0xbc5eba9e042504905b64274994d9c41f | |||
For import stubs with no names, you must use SHA1 over concatenation of symbol's name and ps3_noname_nid_suffix as an ascii string. Some examples of noname imports are module_start, module_info, and module_stop. | For import stubs with no names, you must use SHA1 over concatenation of symbol's name and ps3_noname_nid_suffix as an ascii string. Some examples of noname imports are module_start, module_info, and module_stop. | ||
''SHA1''('module_info' + | ''SHA1''('module_info' + '0xbc5eba9e042504905b64274994d9c41f') = '''1630f4d7'''0bf3df419db9d481983411fd3130482a = '''0xD7F43016''' | ||
== | == PSVita == | ||
=== Regular exports === | === Regular exports === | ||
suffix is unknown. | |||
=== NONAME exports === | === NONAME exports === | ||
Suffix is known from | Suffix is known from PSVita armlibgen.exe. | ||
= | = Generation code = | ||
Here is some code in C# with the example "sys_crash_dump_get_user_log_area": | Here is some code in C# with the example "sys_crash_dump_get_user_log_area": |