[In Progress] Cheat Engine-NX

TheStonedModder

Developer
Developer
Joined
Dec 25, 2022
Messages
2,675
Reaction score
3,922
Trophies
2
Age
29
XP
8,286
Country
United States
Sysbotbase supports peeking and poking memory...and I wanted an easy way to view this memory and make cheats from it.

https://github.com/olliz0r/sys-botb...ae8e8e72fdca625f3879188/README.md?plain=1#L11

This project is VERY WIP especially since I am still learning how memory even works. (so I could also be doing this wrong lmao)

So please share suggestions on things to do better, call me an idiot about something im not even doing close to correct.

How to use:
Download the latest zip from github: https://github.com/ItsDeidara/Cheat-Engine-NX
Make sure you have python 3 installed
Run the script from terminal or open "CheatEngineNX.bat" if you are on windows

Bugs:
There is a annoying bug I cant figure out. So be aware. If the program connects to your switch, and you close it/exit the script

Then open the program/script again in the future. It will sucessfully connect, but sysbot commands will fail to send..until you restart the program again then they all get sent at once. Almost like the thread is stuck

To fix this, reboot your Nintendo switch. It will behave like normal

1747329001189.png
 
So first question since afaik all existing cheat tools are doing the same mistake:
- when searching 32-bit value, you are changing offset byte by byte or 4 bytes by 4 bytes? 0xC->0xD vs 0xC->0x10
 
  • Like
Reactions: TheStonedModder
So first question since afaik all existing cheat tools are doing the same mistake:
- when searching 32-bit value, you are changing offset byte by byte or 4 bytes by 4 bytes? 0xC->0xD vs 0xC->0x10
4 byte by 4 bytes

I will be completely honest im learning by chatgpt so I dont know if that is the correct or wrong way.

But if its wrong it would explain why Im still struggling to find my health in tears of the kingdom (unless I am also doing that wrong lmao)

Thats the whole reason I started this GUI..is so I can find those offsets for sysbot base and make things happen on demand with my twitch bot
 
I would like to have option for changing search alignment. For 64-bit give 8, 4, 2, 1; for 32-bit 4, 2, 1; for 16-bit 2, 1. Issue is that values stored in structs are not always aligned to their type size, so you can miss those values looking only by size alignment offset. But searching 1 by 1 takes more time and is more prone to fake results, so it should be optional.
 
  • Like
Reactions: TheStonedModder
I would like to have option for changing search alignment. For 64-bit give 8, 4, 2, 1; for 32-bit 4, 2, 1; for 16-bit 2, 1. Issue is that values stored in structs are not always aligned to their type size, so you can miss those values looking only by size alignment offset. But searching 1 by 1 takes more time and is more prone to fake results, so it should be optional.
I can make that happen! Thank you for the feedback

Very helpful to know.
 
My feedback:
I'm deliberately going to use an easy-to-hack game whose value I know.
"Zelda Echoes of Wisdom"
I left all the default settings on the tool screenshot below.
Capture d’écran 2025-05-16 034001.png

As you can see in the screenshot, unfortunately, I'm not getting any results.
Maybe it's due to "sys-botbase"... I don't know. Here's a screenshot where you can see that only the sysmodules botbase is active.
2025051603403400-DB1426D1DFD034027CECDE9C2DD914B8.jpg

Since I couldn't get it to work, I can't give any better feedback. However, I suggest you freeze the game during the memory scan. (Maybe this is already the case, but since I couldn't get it to work, I don't know, lol.)
 
  • Like
Reactions: JonJaded
My feedback:
I'm deliberately going to use an easy-to-hack game whose value I know.
"Zelda Echoes of Wisdom"
I left all the default settings on the tool screenshot below.
View attachment 504967
As you can see in the screenshot, unfortunately, I'm not getting any results.
Maybe it's due to "sys-botbase"... I don't know. Here's a screenshot where you can see that only the sysmodules botbase is active.
View attachment 504968
Since I couldn't get it to work, I can't give any better feedback. However, I suggest you freeze the game during the memory scan. (Maybe this is already the case, but since I couldn't get it to work, I don't know, lol.)
the program is scanning main, when the health is in heap.
 
  • Like
Reactions: Az91
the program is scanning main, when the health is in heap.
That should be changable in the scan. Unless you mean that drop down is not working properly and is scanning main all the time?

Also general question please so I can learn. How do you know health is in heap?
 
the program is scanning main, when the health is in heap.
Thanks for the info. I've tried several things, but even if I'm looking in the wrong place, it should still find similar values for me on the first scan ?
Capture d’écran 2025-05-16 034001.png
 
Thanks for the info. I've tried several things, but even if I'm looking in the wrong place, it should still find similar values for me on the first scan ?
View attachment 504978
I could be peeking incorrectly. This isnt really a default feature of sysbot base so im kinda hacking it together
 
  • Like
Reactions: Az91
I could be peeking incorrectly. This isnt really a default feature of sysbot base so im kinda hacking it together
I don't know, bro. I have a feeling it's not really connected to the switch. I don't know if you've already programmed the "Manual Control" tab. It's connected correctly, but none of the buttons are working. I'll try again later; all these scans are starting to take forever! Lol.

Another feedback would be nice; it's possible the problem is on my end.
Capture d’écran 2025-05-16 034001.png
 
I don't know, bro. I have a feeling it's not really connected to the switch. I don't know if you've already programmed the "Manual Control" tab. It's connected correctly, but none of the buttons are working. I'll try again later; all these scans are starting to take forever! Lol.

Another feedback would be nice; it's possible the problem is on my end.
View attachment 504980
Manual controls are 100% working they are pulled from my macros NX project

That was the base of this

It sounds like you hit that weird bug I mentioned in the OP that needs a switch restart

None of my other bots has that issue
 
  • Like
Reactions: Az91
Manual controls are 100% working they are pulled from my macros NX project

That was the base of this

It sounds like you hit that weird bug I mentioned in the OP that needs a switch restart

None of my other bots has that issue
The problem probably comes from my configuration. I'll try to find out where it comes from. In any case, great project, as soon as I can test it properly I will be able to give proper feedback. Thanks for your work
 
The problem probably comes from my configuration. I'll try to find out where it comes from. In any case, great project, as soon as I can test it properly I will be able to give proper feedback. Thanks for your work
Like I said I wouldn’t doubt if I did something wrong

But I appreciate the time, and the willingness to try more things! I’d love to get this working flawlessly myself for discord shenagians
 
maybe i setting it up wrong then, im not getting the intended glow. and i keep getting a "timed out" error.
i have the atmosphere folder setup, and the sys-bot.nsp in /switch/. what am i doing wrong?
 
maybe i setting it up wrong then, im not getting the intended glow. and i keep getting a "timed out" error.
i have the atmosphere folder setup, and the sys-bot.nsp in /switch/. what am i doing wrong?
Sys bot doesn’t really have good instructions

I have no clue what that nsp is but there is a zip folder in their release page with 24 in the name

Extract that to your sd card and restart ur switch since it’s a sys module

Then in the tool you should be able to connect. Leave the port to 6000
Post automatically merged:

I would like to have option for changing search alignment. For 64-bit give 8, 4, 2, 1; for 32-bit 4, 2, 1; for 16-bit 2, 1. Issue is that values stored in structs are not always aligned to their type size, so you can miss those values looking only by size alignment offset. But searching 1 by 1 takes more time and is more prone to fake results, so it should be optional.
Implemented!

maybe i setting it up wrong then, im not getting the intended glow. and i keep getting a "timed out" error.
i have the atmosphere folder setup, and the sys-bot.nsp in /switch/. what am i doing wrong?
I forgot to upload the very important switch_connection.py file....that explains a few things. That also explained why @Az91 was getting that weird behavior. I had some of that in the main script still, but it was supposed to all be relying on that external module.

I had the file in my directory hence the confusion. I apologize for the gas lighting! This new zip should work a bit better :)
 

Attachments

Last edited by TheStonedModder,
2nd feedback

The problem was on my end because I was on firmware 19.0.1, and after upgrading to firmware 19.0.0, I managed to connect correctly.

Regarding the "Manual Control" tab, there were no problems to report; it worked correctly.

For the memory scan, I managed to get a result with an alignment set to 1. Screenshot below.
Capture d’écran 2025-05-17 051810.png

Capture d’écran 2025-05-17 052552.png

When I ran a next scan, I got no results. And I've never been able to get a result afterward, even when I ran the same scan.

Here's what I noticed:
-The "Freeze game during scan" function doesn't work.
-The scan results should be more numerous.
-The APU temperature rose to around 50°C (even when overclocked and docked, I don't reach such high temperatures).

There you go, I hope this feedback will be useful for your further development. :)
 
Too bad sysbot is not supported in 20.0.X :c
It works on 19.0.x


Is there even a reason to update to 20 yet? Sincere question

2nd feedback

The problem was on my end because I was on firmware 19.0.1, and after upgrading to firmware 19.0.0, I managed to connect correctly.

Regarding the "Manual Control" tab, there were no problems to report; it worked correctly.

For the memory scan, I managed to get a result with an alignment set to 1. Screenshot below.
View attachment 505332
View attachment 505334
When I ran a next scan, I got no results. And I've never been able to get a result afterward, even when I ran the same scan.

Here's what I noticed:
-The "Freeze game during scan" function doesn't work.
-The scan results should be more numerous.
-The APU temperature rose to around 50°C (even when overclocked and docked, I don't reach such high temperatures).

There you go, I hope this feedback will be useful for your further development. :)
This is all VERY helpful! I'm happy you where able to even find a first scan at all. Show that I am indeed going in the right direction
 
  • Like
Reactions: LaMano and Az91

Site & Scene News

Popular threads in this forum