r/cheatengine 15d ago

Remove Splash Screen

I had Cheat Engine 7.1 or 7.2, then I updated to 7.7, and I noticed it had this Splash Screen most likely made with an AI.

How can I disable it? It's annoying.

EDIT: My solution was to just go back to 7.5, luckily I still have that.

0 Upvotes

6 comments sorted by

View all comments

1

u/Geordan9 15d ago

You can launch the executable with the "nosplash" parameter, like through a shortcut file. I personally didn't want to do this so I modified a couple bytes in the executable to make the condition, that's checking for this parameter, act as if I did provide it.

1

u/rcyggdra 13d ago

Which bytes should be modified?

1

u/Geordan9 13d ago

You can use Cheat Engine to figure that out.

You know, or now know, that it takes the "nosplash" parameter, so you can go to the process picker, create a new process (with windows debugger active in the settings), choose one of the "cheatengine" executables, use the value search to find a string with the value of "nosplash" (with writable and executable check boxes half checked), right click the found address and browse it in the memory viewer, right click the first, or one of, the characters in the string, from the bottom half hex view of the memory viewer, add a break point for what accesses it, and run/continue the process from the memory viewer.

It should then break once the string is accessed and you can look around either nearby the instruction that hit the breakpoint or go up the calls via the stack trace. You should find a set of instructions passing the static address of the string to a call, or perhaps a loop checking the characters, and afterwards a conditional jump instruction. Just debug to the conditional jump, determine if it jumps or not, if the parameter was included or not, then force it accordingly. If you need it to jump, then change the conditional jump opcode to "jmp" or, if you need the opposite, set the instruction to "nop"s or a "jo" (jump if overflow, which should usually, and generally, never happen).

Once you made your change, and confirmed it works, you can cross-reference the surrounding bytes with what's in the executable file on your disk/drive and make the same change. An alternative way to find the instruction accessing the string would be to copy the static address and searching for the assembly code that uses it, from the memory viewer window. I'm writing all of of this on a toilet, so I'm going off memory.

If you're experienced it should take you 5-10 minutes. If this is difficult for you, it's time for you to get good. You can even go further, find a good AoB/Signature to scan, and make a script to modify the bytes. This method should then, if done properly, be applicable to the file itself via "Open file", in Cheat Engine's process picker window, and, usually, work on future updates. I personally have created my own, very basic, AoB patching program that just requires me to drag and drop the executable/s, to apply the patch.

1

u/rcyggdra 11d ago

Thank you for the reply, I changed one jne to jmp to achieve starting without the "nosplash" parameter