Scan Results and Saved Address Table - AngryCarrot789/MemoryEngine360 GitHub Wiki
Scan Results
These are the results created when a value on the console matches the search query(ies).
Address
is the address the value was found at,Value
is initially the first value. When refresh is enabled in the preferences, this value will be updated every so oftenPrevious Value
is initially the first value. This value changes when you run the Next Scan, and it becomes whatever theValue
wasFirst Value
is the value that was read and matched the query(ies) when First Scan was run. This value does not change
Double-clicking cells in the Address column (or pressing CTRL+C with rows selected) shows a dialog that lets you copy the values, optionally to the clipboard.
Double-clicking the cells in the Value column (or pressing CTRL+E with rows selected) shows a dialog that lets you change the values.
Saved Addresses
This is where you can store some scan results temporarily, or even save to/load from a file. To add entries, either select some scan results and click Add Scan Result(s)
, or do it manually by clicking the green plus icon which will show two dialogs letting you configure a new saved address.
Shortcuts:
F2 or CTRL+R
- Edit descriptionCTRL+W
- Edit AddressCTRL+E
- Edit ValueCTRL+T
- Edit Data TypeCTRL+C
- Copy absolute address (for pointer addresses, must be connected to a console for it to work)
Pressing the spacebar on selected rows toggles whether their value will be refreshed periodically (same rate as scan result refreshing)
You can also group them into folders by selecting some rows and pressing CTRL+G.
Note, in the context menu for entries, Copy Address
copies the text in the address column, Copy Absolute Address
supports resolving pointers.
Static and Dynamic Addresses
Static addresses are simple, they're just a fixed address value.
Dynamic or Pointer addresses allow adding offsets to dereferenced pointers in a chain.
For example in the screen shot above, 8201AD74->1758->18C4->144->118->11C
, we dereference 8201AD74, add 1758, then dereference that and add 18C4, ..., Dereference last value and add 11C.
Then the final value will be the pointer containing the useful data, in this example, the X position of an AI player controller in the BO1 single player (switches between woods and bowman on the first mission randomly when you respawn).
Saving/Loading
XML is used to serialize and deserialize saved addresses