Skip to content

Replace pymem with PyMemoryEditor in the auto extractor - #723

Open
JeanExtreme002 wants to merge 1 commit into
monkeyman192:developmentfrom
JeanExtreme002:pymemoryeditor
Open

JeanExtreme002 wants to merge 1 commit into
monkeyman192:developmentfrom
JeanExtreme002:pymemoryeditor

Conversation

@JeanExtreme002

@JeanExtreme002 JeanExtreme002 commented Nov 14, 2026 •

Copy link
Copy Markdown

This moves the auto extractor from pymem to PyMemoryEditor.

The comment above the process lookup says multiple NMS instances "will probably have issues". pymem matches the name as a substring and takes the first hit, so with a leftover NMS.exe around the script can read the wrong process and still write out templates. Now the name has to match exactly and it raises an error listing the PIDs if there is more than one. It also stops opening the game with PROCESS_ALL_ACCESS and the debug privilege, which a script that only reads memory doesn't need.

The read calls keep the same signatures apart from read_string taking the length positionally, and the base address now comes from the NMS.exe entry in get_modules().

I don't have NMS on a Windows machine at hand, so this was not run against the game. I only checked that the read calls return the same values on a similar memory layout, so it's worth one run against the current build before merging.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant