mlthelama / AddressLibraryDatabase

Address libraries for games

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Address Library Database

The Address Library Database helps facilitate the sharing of function and static variable names between Skyrim Anniversary Edition IDA databases. It is loaded by the Address Library Manager and supports game versions 1.6.317.0 and later by assigning names to Address Library identifiers.

The Address Library Database consists of a relib file and a rename file. The relib file contains a list of identifiers and their paired offsets for each version of the game, and the rename file contains a list of identifiers and their paired names.

When the Address Library Database has been loaded by the Address Library Manager, each version of the game that is supported will be listed. You can then select a version of the game and dump its identifier and offset pairs, or create the Address Library for either that specific version of the game or all supported versions of the game.

Importing to the Address Library Database

Export offset and names pairs from your IDA database to the IDANames.txt file by running either the IDAExportNames_IDA6.py script or the IDAExportNames_IDA7.py script in IDA, depending on the version of IDA you are using. Before running the script, the GetFilePath function must be edited to return the directory in which the IDANames.txt file will be created. The IDANames.txt file can then be imported to the Address Library Database using the Address Library Manager by selecting Names, clicking Import from IDA script result, and then selecting the version of the game that was used to create your IDA database.

You can optionally compare the IDANames.txt file against previous IDANames.txt files to prevent importing unnecessary names to the Address Library Database. Previous IDANames.txt files must be placed in the subdirectory of the Names subdirectory determined by the version of the game used to create them. It is recommended that you compare the IDANames.txt file against the IDANames.txt file that you previously used to contribute names. If you have not contributed names before then please recreate your IDA database, run any plugins which automatically name functions and/or static variables such as Class Informer, and create a base IDANames.txt file to compare against.

Exporting to your IDA database

Export offset and name pairs from the Address Library Database by selecting Names and clicking Export names to IDA 6.x or Export names to IDA 7.x, depending on the version of IDA you are using. Then select the version of the game that was used to create your IDA database. Like when importing to the Address Library Database, you can optionally compare names against previous IDANames.txt files to prevent exporting unnecessary names to your IDA database. The SetNamesInIDA.py script will then be created in the same directory as the Address Library Manager, which must then be run in IDA.

About

Address libraries for games