Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux support #13

Open
GHXX opened this issue Jun 10, 2021 · 2 comments
Open

Linux support #13

GHXX opened this issue Jun 10, 2021 · 2 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@GHXX
Copy link
Owner

GHXX commented Jun 10, 2021

Add memory edit functions for linux, if supported.
Also investigate if the memory offsets are the same.

@GHXX GHXX added the enhancement New feature or request label Jun 10, 2021
@GHXX GHXX added the help wanted Extra attention is needed label Jun 29, 2021
@GHXX GHXX changed the title Linux / Mac support Linux support Jun 30, 2021
@NKID00
Copy link

NKID00 commented Jun 27, 2022

I have made some small effort on my fork to port a part of the library to Linux.

Memory access can be achieved through the proc filesystem (/proc/<pid>/mem) on Linux. The address seeking process on Windows does not work on Linux but it seemed that the memory address of chessboard array pointer is fixed relatively to the main module base address. Therefore seeking the pointer is easier. (I wonder if the same might be true on Windows?)

Still a lot of stuff is not ported. Only reading the chessboard data is tested now, but that is good enough to port the 5D-PGN-Recorder to Linux. Assembly modification can be a hard one to port.

@GHXX
Copy link
Owner Author

GHXX commented Jun 28, 2022

Hey, glad to see some activity in this regard, for more in-depth talks and resources, id like to invite you to this discord server where most of the reverse engineering was done: https://discord.gg/KP5vApW

Aside from that:
The reason why there is code for finding the chessboard array pointer is, because due to game updates this may move around in memory (in case the main struct changes), requiring re-discovering the offsets, which would be quite annoying. Memscanning is a bit more reliable in this regard

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants