pal How do I cheat?
Reputation: 0
Joined: 08 Oct 2021 Posts: 1
|
Posted: Fri Oct 08, 2021 5:38 am Post subject: CE 7.3 on Linux - speedhack not working (32 bit) |
|
|
Hello,
I have got Cheat Engine 7.3 running in wine under Linux (Debian 12), connected to ceserver locally.
Speedhack works for 64bit processes, but not 32bit. I have tried multiple 32bit processes (different games).
I have seen the forum post titled "Running CE6.6 on Linux - speedhack not working" from 2016 suggesting to compile 32bit ceserver.
I have tried compiling and running ceserver and extension for 32bit as below:
wget github dot com/cheat-engine/cheat-engine/archive/refs/tags/7.3.tar.gz
tar -vxzf 7.3.tar.gz
cd cheat-engine-7.3/Cheat Engine/ceserver/gcc
make -f makefile32
cd ../extension/gcc/
make -f makefile32
which gives me 32bit ceserver and libceserver-extension_x86.so, which i copy to a folder somewhere and run with sudo ./ceserver
When attempting to tick the 'speedhack' option for a 32bit process:
ceserver output:
Module32First/Next: Returning false because ml->moduleListIterator=85 and ml->moduleCount=85
ce output:
"Failure determining what real_gettimeofday means"
which is the same result as the 64bit ceserver release at cheatengine dot org/download/ceserver_linux_x86_64.zip when running on a 32bit process.
I also tried doing 'git clone' on the latest commit instead of wget'ing the 7.3 release, same result.
To make sure I compiled properly, I also tried compiling the 64 bit ceserver and extension and tested a 64bit process, which worked as expected, but only for 64bit processes.
I also tried running cheat engine itself (in wine) as 32bit and in a 32bit wineprefix but that didn't help.
Am I doing something wrong, or is this still a bug, and can it be fixed?
EDIT:
32 bit ceserver outputs this when you select and 'open' a 32 bit process with CE:
[vdso]
Failed to open [vdso]
Although this does happen with 64bit ceserver on a 64bit process, so it may not be relevant.
I did some googling, i think it has something to do with 32 bit vdso in the linux kernel, which provides gettimeofday().
EDIT2:
I suspect CE/ceserver does not expect the old 32bit date format, or something else provided by 32 bit vdso, causing it to fail somehow
|
|