## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Lumina menu actions for Common

Below is an overview of all actions that can be accessed from this menu.

UI Action Name | Action Name | Description
--- | --- | ---
Pull all | `LuminaPullAllMds` | Pull all metadata from the primary server. More…
Push all | `LuminaPushAllMds` | Push all metadata to the primary server. More…
View all | `LuminaViewAllMds` | View all metadata from the primary server. More…
Pull function main | `LuminaPullMd` | Pull function metadata from the primary server
Push function main | `LuminaPushMd` | Push function metadata to the primary server
Secondary server | `` |
Pull all | `LuminaSecondaryPullAllMds` | Pull all metadata from the secondary server
Push all | `LuminaSecondaryPushAllMds` | Push all metadata to the secondary server
View all | `LuminaSecondaryViewAllMds` | View all metadata from the secondary server
Pull function main | `LuminaSecondaryPullMd` | Pull function metadata from the secondary server
Push function main | `LuminaSecondaryPushMd` | Push function metadata to the secondary server
Revert function main | `LuminaRevertMd` | Revert function metadata

## Pull all

Pull all metadata from the primary server. This commands retrieves metadata about the current database from Lumina.

IDA will calculate checksums for all non-trivial functions in the database and send it to Lumina. This information will be used to match and retrieve metadata, which will be automatically applied.

Please note that this may overwrite your changes, so taking a database snapshot and saving the database before invoking this command is a good idea.

By non-trivial functions we mean:

- long enough functions (>=16 bytes)
- non-library functions
- non-imported functions (functions with real body)

### Lumina Metadata

Metadata currently consists of the following information:

- function address, name, prototype
- function frame layout
- stack variables
- user-defined sp change points
- representation of instruction operands
- function and instruction comments

## Push all

Push all metadata to the primary server. This commands sends metadata about the current database to Lumina.

IDA will calculate checksums for all non-trivial functions in the database, extract metadata about them, and send it to Lumina. The metadata includes function names and types, user comments, operand types, etc.

If Lumina already has metadata about the involved functions, it will be replaced only if the new metadata is better and more complete.

Only functions with non-trivial names are pushed by this command.

## View all

View all metadata from the primary server. This commands retrieves metadata about the current database from Lumina.

IDA will calculate checksums for all non-trivial functions in the database and send it to Lumina. This information will be used to match and retrieve metadata. After that IDA will display list of matched functions.

The user can then select the desired metadata and apply it to the database. If the result is not satisfactory, it is possible to revert the changes.

Once the window is closed, it is not possible to revert the changes anymore.

At the bottom of the window there are convenience buttons to apply or revert all available metadata.