Exporting draft rankings - Memory Reading

Discuss all aspects of editing the data and databases in EHM here. Have a question about the EHM Editor, EHM Assistant, editing the .cfg files, hex editing the .dat or .db files? Want to tweak the EHM exe file to change league rules/structure, start date etc? This is the place!
Forum rules
This is the forum to discuss all aspects of editing the EHM data and tweaking the game.

Have a bug or feature request for the EHM Editor? Post them in the EHM Editor thread. Please start a new thread or post in another thread if you have a question about how to use the EHM Editor.

Given the large number of questions on similar topics, we ask that you start a new thread for a new question unless you can locate a similar question in an existing thread. This will hopefully ensure that similar questions do not get buried in large threads.

Useful links: EHM 1 Assistant (Download) | EHM 1 Editor (Download) | EHM 1 Editor Tutorials | Editing Rules & Structures Guide | Converting EHM 2004 / 2005 DBs to EHM 1 | Converting an EHM 2007 DB to EHM 1 | Extra_config.cfg | Import_config.cfg | Player Roles
Post Reply
Gabisonfire
Junior League
Posts: 9
Joined: Sat Feb 11, 2017 5:31 pm
Favourite Team: MTL

Exporting draft rankings - Memory Reading

Post by Gabisonfire »

Hi all,

As some of you may know, one of the longest task in online leagues is to rewrite the ISS rankings.
I've tried a couple of times to read this data from the ram and could get some of it out but nothing consistent unfortunately due to my little knowledge of memory reading.

I've contacted garfild multiple times (creator of EHM Assistant) but he seems to be gone (Last active:Tue Mar 07, 2017 3:43 pm)
If we can find a way to extract data consistently like EHM Assistant, I'd make it as an API to provide easy access to game data making it possible to create league website easily etc etc.

I'd just like to know if anyone has any idea's on how to work it out, I'm ready to work with anyone willing to give it a try, and make all our work open source. Was thinking to use C# and/or Python.
I've played around with MemorySharp and CheatEngine.

Best bet is to reach me on Discord
Gabisonfire #1766
User avatar
archibalduk
TBL Admin Team
Posts: 20372
Joined: Tue Jul 06, 2004 8:44 pm
Custom Rank: Seaside + Fruit Juice Mode
Favourite Team: Guildford (EPL) / Invicta (NIHL)
Location: United Kingdom
Contact:

Exporting draft rankings - Memory Reading

Post by archibalduk »

It's really difficult because it is likely to be a lot of unreadable hexadecimal as the game uses a relational database. The section of memory which stores the ISS ranking might well contain a Staff ID (a 32-bit integer) and ISS ranking (perhaps an 8-bit or 16-bit integer). You will need to find the Staff IDs of a sample of players (which you can find by loading the saved game in the EHM Editor) and then try to find a pattern in the memory where these Staff ID values appear and narrow down to where they appear near integers which correlate with their ISS ranking.

A further complication is that the game might well use some sort of points system to calculate the rankings. If that's the case, the points might be stored in some table and then the game just shows a list of players sorted by points but with the points hidden. If that's the case then it may be near impossible to figure out.

You're probably best off looking at the saved game itself. Open the saved game in the EHM Editor and click on File -> Unpack. Then you can have a dig around the various extracted files. You might find something that way. If you can then it might help with then locating the same data in the RAM whilst the game is loaded.
Post Reply