Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
I want to learn how to create correctly CWCHEATS for PSP avoiding "decoy" addresses.
11-24-2023, 03:00 AM
Post: #2
RE: I want to learn how to create correctly CWCHEATS for PSP avoiding "decoy" addresses.
Your post is really long and hard to follow, some information is just incorrect/outdated(like PSP games not using pointers in emulator or PSP model setting limiting memory which is actually always limited and only extended with using a flag in homebrew game and a special exception list affecting only remasters and prototypes, recommending 32 bit version etc.) and you make simple things which can easily be automated into some sort of hard to follow guide. Also you use the term "replace it with code that does nothing (NOP)" which is used in cheat engine and you really don't want cheat engine to modify any of the code or even use it to view any game code since it doesn't support MIPS and can only view emulator's code which is not something you want to mess around, heck without disabling JIT it will not even be able to show real hexadecimal values of PSP game code as it will see JITted code instead. Ignore illegal reads/writes is also not way to ensure cheat is safe, there are plenty of ways to not only crash the game, but to completely mess your savedata by incorrect cheat which wouldn't count as "illegal read/write", in fact some PSP "legends" about "hackers" destroying people's savedata is nothing more, but a poorly made cheat like in some patapon game cheat which works as intended in one moment of the game, but if active in any other moment will silently break stuff in a way that's hard to notice until much later.

There's no such thing as "decoy" or really anything trying to make cheating harder, I mean sure rarely there are anti-cheating methods like hashing of memory in Final Fantasy Type 0, but those are obvious and easy to disable and they are very verbose about being intentional, everything else that makes your life harder is just basic optimizations of the code.
If you have functions in your code that are doing roughtly the same thing, compilers will optimize that into one function and just call it from whenever other code that needs it. You need to trace the code back to whatever you want to find, same principle for finding constant values. Find something related to a constant which is variable, then trace the code to find that constant, for example to change LOD of some 3D game which will almost surely be constant, you can first look for your coordinates on the map which are variable and then trace the code until you find where they are used together.

I can only recommend 2 things:
- learning MIPS how to read and follow game's code,
- opening your mind to programming and figuring out how game's work instead of looking at already created cheats trying to guess how others made it as there's plenty of ways to do the same things, but if you close your mind on some weird idea coming from your limited knowledge, you might not find any way to do anything.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: I want to learn how to create correctly CWCHEATS for PSP avoiding "decoy" addresses. - LunaMoo - 11-24-2023 03:00 AM

Forum Jump: