for ps2 games i have found an outdated version of pcsx2 that a generous hacker marged with ps2dis , but i don't have the knowledge to understand the assembly language , so i need some hints and suggestions so i can port the god-mode hack from the ntsc version of sly 2 and sly 3 to their respective pal italian (multilanguage) version , since the sly trilogy have the italian dub you know
TBH then it would be easier for you to download newest PCSX2 -> open its debugger -> use it as how people use Cheat Engine to find what values change and all -> find the memory address that react when you lose health -> create a cheat that always machineguns highest value for the characters' health to that memory address by figuring out what's the highest value the memory address can have -> god mode. So you won't have to analyze cheat of games to "port" them to other regions when you can pretty much create the cheat yourself.
However most important thing for it is being able to find static memory address because this address won't change and that's how you can generate universal cheat that will work for everyone as long as they have the same game so same region too, otherwise if you just create cheat for dynamic address then its cheat will only work for that specific run of the game until you turn off because when you turn on the game again its dynamic addresses will change therefore the cheat won't work.
Then to find static memory gotta look for pointers and thus reverse-trace where and what pointers send value to the dynamic address you found to find the source that sends value to the pointer which will be the static memory address.
If you just wanna create a cheat for yourself then you don't have to bother with finding static memory address. You may very well create cheat for dynamic address and save the state of the game. Next time you run the game load the game from save state and thus the dynamic address for the memory will remain because its a snapshot of the current RAM of the game that using that state to continue running the game. Then if you wanna share such cheat you would need to also share the emulator version and save state too.
thanks for the hints , what i am interested in of course is to find the basic stating addresses as i always do , i don't want any temporary element , so i don't even use cheat engine for this kind of researchs , that's why i use that outdated version of pcsx2 with ps2dis incorporated , of course i use the latestt pcsx2 qt interfact in order to play , but everytime i try to find a value with that debugger , i find nothing , so can you give me some hints about that ? like , if for example i am playing a shooting game , what secion of the qt debugger i must use in order to find the value of the ammo with a scan ? and then what i must press in order to find the relative instruction that cause the loss of ammo ? i am asking for basic stuff you know , like how to use that interface , because as i said , so far i never found a single value , it is like that debugger is only used to improve the quality of the emulation but not to look in to the values of the game itself
Post automatically merged:
in any case i was serious about what i said in my previous posts: i only care about make cheats and share them , i don't mind people taking credits for them , i am not doing them in order to get money or popularity , instead i want to encourage everyone else to share all the codes they find , because in years and years there are cheats that none ever tried to find , like for example a god mode hack for silent hill origins in ps2
thanks for the hints , what i am interested in of course is to find the basic stating addresses as i always do , i don't want any temporary element , so i don't even use cheat engine for this kind of researchs , that's why i use that outdated version of pcsx2 with ps2dis incorporated , of course i use the latestt pcsx2 qt interfact in order to play , but everytime i try to find a value with that debugger , i find nothing , so can you give me some hints about that ? like , if for example i am playing a shooting game , what secion of the qt debugger i must use in order to find the value of the ammo with a scan ? and then what i must press in order to find the relative instruction that cause the loss of ammo ? i am asking for basic stuff you know , like how to use that interface , because as i said , so far i never found a single value , it is like that debugger is only used to improve the quality of the emulation but not to look in to the values of the game itself
Post automatically merged:
in any case i was serious about what i said in my previous posts: i only care about make cheats and share them , i don't mind people taking credits for them , i am not doing them in order to get money or popularity , instead i want to encourage everyone else to share all the codes they find , because in years and years there are cheats that none ever tried to find , like for example a god mode hack for silent hill origins in ps2
Debuggers and Cheat Engine makes your job easy to find static memory addresses, on the other hand what you do is taking a long road to do what you can do in Cheat Engine.
The PCSX2 and Cheat Engine 101 is when you have no idea of the value of anything you look for, especially because it runs via emulator therefore it likely won't be a "human readable value" that has the exact value you see on the game compared to native PC games then you gotta start your first search via this:
Then press "Search" and thus you will see the current state of the memory. Afterwards:
After you shoot your ammo will be decreased and after you take a hit your health will be decreased therefore numerically value-wise these memories will have decreased value compared to the previous state of the memory you initially searched therefore select "Decreased" and then press "Filter Search".
However among the results for what you are looking for you will find lots of values that decreased since the initial search because naturally game works and it makes some of its values decrease as well as it decreases. It depends on the process and what the memory addresses works for. That's why you gotta repeat "shoot" and "take hit" process before you repeat "decreased" filter search until you find the value you are looking for.
If you have no idea if value decreases or increases you may select "Changed" instead, if you know the exact change in value you may select "Changed By" like if you are sure the value in the memory would decrease or increased "1" value then put 1 and filter search for "Decreased By" or "Changed By".
But these ways will naturally make you find a dynamic address that is not useful for creating universal cheats just yet. For static address you need to find dynamic address first then find the value that react to same change and also uses different addresses that some of these addresses will be dynamic addresses but one of them will be a static address which I use this debugger and Cheat Engine for it that it's not something to tell "how exactly" because it's like fishing. How to tell a person how to fish beyond "find a spot where fish would hang out and throw the hook that has the food they would like and hope for the best"? It's like finding a needle in Jupiter lol. But what matters is bit size of the "needle" to even look for something correctly to even find them.
Simple values like ammo value, health value, camera state values, item id, switch values like "off"/"on" states and all mostly using 8-bits (1 byte) values. If you had searched for more than 1 byte you would likely to miss the values you look for. Sometimes a memory react to what you look for but it's not the memory that actually changes anything. This is where anti-cheat and optimization aspect of the game comes in for preventing cheats and making game run stable. But sometimes games uses 16-bits (2 byte) values when usually 8-bits (1 byte) values used for such stuff. Why it may be depends on many things but you would kinda see it rarely but just FYI.
So how to find static memory address?: After you found the dynamic address you gotta look for which memory contains the address of the dynamic address. Whatever address contains dynamic address is pointer address. Then look for what memory address that contains the pointer address to find the static address.
PCSX2 cheats can be written in many ways but the logic is writing the static memory address and defining what value it should have to make the cheat work.
To find pointer and static address I mostly use Cheat Engine if it's that simple to find because developer didn't care to implement anti-cheat or game engine doesn't work "weirdly" like how tri-Ace games are lol:
And then finally we get to something!!!:
Then what to do after this point?: You got the address but gotta see if this address always there holding the value you looking for despite you restarted the game. Sometimes it doesn't then you couldn't find a static memory address, you just found "mirror address" (that's the closest thing I can call them). In my experience mirror addresses works like pointers but in reality they just pass the value or they are there to make your hacking more bothersome. Sometimes such addresses used when you run the game on low level hardware that doesn't have much RAM to begin with so you may use same values for tons of different addresses uses to reduce the memory usage.
Afterwards IDK what to tell but "good luck" and "I hope you have a long music playlist for this long task" lol.
So tip for that "test loop to find static address": Static and pointer addresses don't change so you may restart the game over and over again to find common addresses to figure out which are pointer and static addresses. Your job is to weed out unrelated memory addresses to find a few related memory addresses. Good luck, soldier!!! <o
thanks , i am used enough to cheat engine when it comes about pc games , but i really needed that very practical explanation about the debugger for pcsx2 , about instructions , can you tell me the procedure to find them once i find the value with that debugger ?
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.