Hey guys, I was just wondering, could any experienced hackers out there tell how to go about hacking these type of codes, for the Psx?
Announcement
Collapse
No announcement yet.
Hacking Sequential codes PSX
Collapse
X
-
You mean a slide code? A code that covers a bunch of addresses in a simple condensed code? I will assume so and explain it a bit
Slide Codes
5000xxyy zzzz
tttttttt vvvv
Writes xx addresses starting with 80tttttttt incremented by yy. The starting value is zzzz with an increment of vvvv.
On CD-based Gamesharks, consequtive slides must be seperated by a line "00000000 0000".
Thats the official explanation but I will break it down for you:
The top of the 2 codes is what sets the amount writes and how many intervals or offsets between addresses to skip and what the initial Value of the first address should be. IE:
50001002 0001
So this sets the code to cover 16 address since 10h is 16 decimal and it skips every 2 lines so basically it covers 16bit addresses back to back(I will explain below and you should know the difference between 16bit and 8bit codes).
Say we have this fictional code that has about 6 codes in sequence and we want to use a slide code and increment each line by 1 (like have item codes) we would take the codes:
80011230 0001
80011232 0002
80011234 0003
80011236 0004
80011238 0005
8001123A 0006
we use the formula above and get this:
50000602 0001
80011230 0001
so we set it to cover 6 lines and since they are 16bit codes and the difference between addresses is 02 then that is the offset we used and the 0001 is what the very first addresses value should be. 0001 is that we will increment the values for the other codes by one, if we set it to 0000 then it would set the value of the first code in the slide code to 0001 for all 6 addresses.Spoiler Alert! Click to view...
THE BAD GUY!!!!!!
-
That's not what I was talking about but slide codes are something I need to learn, so in that respect you really helped me out in learning how to hack slide codes, so for that I want to say thank you, but what I meant to say was how do I hack codes that have multiple code addresses.
Like I'm familiar with codes that have single code addresses but when ever I look at hacks for any games that are hacked I notice a lot of the hacks I see usually are 2,4,6 code addresses long for one hack, so I was just wondering whats the purpose of having those extra addresses for certain hacks, could you give me an example man on how to about hacking one of these codes, like how you taught me about how to hack slide codes.Last edited by jin299; 04-04-2013, 05:19:32 PM.
Comment
-
You may be talking about custom codes done with assembly. Can you show a code that shows what you're talking about?Last edited by nolberto82; 04-04-2013, 05:56:59 PM.
Comment
-
Nolberto is definitely on the money there but there are times like say for a simple example that you are playing an RPG and want max money or max exp and the max value is 9,999,999 so this translate to 0098967F in hex and the PSX GS only handles 16bit(4 character) codes not 32bit(8 character) so we have to spilt it into 2 16bit codes like so:Originally posted by nolberto82 View PostYou may be talking about custom codes done with assembly. Can you show a code that shows what you're talking about?
80001234 0098
80001236 967F
so sometimes the codes need multiple lines to achieve the effect we want. But unless you post a code that you seen this on and want an explanation we are kind of shooting in the dark here.Spoiler Alert! Click to view...
THE BAD GUY!!!!!!
Comment
-
Well there's no game in particular that I'm trying to hack at the moment simply because I'm still trying to grasp an understanding of the basics on how these multiple addresses are hacked, also I noticed that these particular type of code addresses are quite common to come across, when it comes to hacking codes,
Mega Man 8
Warp To Last Stage
D00FFC8C 0840
800FFC98 000A
D00FFC8C 0840
800FFC9A 2403
D00FFC8C 0840
800FFCC0 0000
D00FFC8C 0840
800FFCC2 2402
If no one is familiar with this game, I can always use example from some games that you guys have hacked in the past, that's no problem, just mention the game's title and I'll find some hack examples with for that game.Last edited by jin299; 04-06-2013, 01:31:42 PM.
Comment
-
Yeah, that's an assembly code. The 'D' comparison codes are just there to make sure it only triggers during a particular point. In this case, probably by checking that a particular module is loaded in RAM. That's why the value and address is reused several times. That and lack of a multi-line conditional in the PSX cheat devices.
The lines with 16-bit writes ('8' codes) are just writing 2 assembly instructions.
2403000A - addiu $v1, zero, 0xA ; load 10 (decimal) to register v1.
24020000 - addiu $v0, zero, 0 ; load 0 to register v0.
What that accomplishes in the game, I can only guess at. Probably stage 10 is the last stage. Beyond that, I don't know enough about the game to tell you if the code is replacing the return value from a function or what.Last edited by Pyriel; 04-06-2013, 02:28:32 PM.
Comment
-
that depends on codes.
before you edited your post, the code you posted earlier was
multi comparison code with 2-byte RAM write codesLast edited by lee4; 04-06-2013, 06:37:11 PM.lee4 Does Not Accept Codes Requests !
When lee4 asks a question it does not mean lee4 will look at your game
*How to create and use SegaCD codes >click here<*
Comment
-
-
Maybe. Maybe not.
It's hard to say what that is without knowing the game. Assuming it's still Megaman, the two lines with 0001 as the value could be the delay between shots for different parts of the game, or for two classes of weapons, and the 00FF line could be the ammo. I'm just guessing wildly. If that's the case, then yes, you might find it with a memory search.
I think the mistake you're making is assuming that a hacker has a code in mind, and knows exactly what he's looking for from the start. It's far more likely that you'll get there in steps, refining the code over time. For instance, working with my wild guess, you might start with an infinite ammo code and then change weapons a few times to see what happens. Doing that might lead you to where the attributes of the current weapon are kept. You can then modify that to see what you get, and lo and behold one of the variables is the delay between shots. Then you play the game a while, and suddenly your rapid fire modifications stop working because the Super Cannon has extra attributes, and the programmers decided to just look elsewhere when it's equipped, rather than expanding the space allocated to the standard location.
Comment
-
Yeah I did, assume that hackers know exacly what code to look for from the start, but that only because i assumed that most hackers out there are some what knowledgeble in knowing how a game is programmed. So is there any way of knowing the nature of how a code might be hacked, or does it require guesswork to find the correct addresses for a code?Last edited by jin299; 04-07-2013, 05:53:00 AM.
Comment
-
It's not just random guesswork. It's a series of educated guesses (hypotheses) based on what you know and what you think you know about the game. And you have to test them out somehow to see if you're right or wrong. You can't know exactly what to look for with 100% certainty because there are hundreds of little variations the programmers might have used. With enough experience, you can generally be more accurate with your initial hypotheses. Your first thoughts will never be 100% correct 100% of the time, though.
Think of it like forensics. When somebody dumps a body covered in a sheet in front of the medical examiner, he doesn't just look at where the blood is, and announce that the victim died from a stab wound to the chest with a serrated, 10-inch knife, and she has her husband's skin under her fingernails. He has to pull back the sheet, make observations and conduct tests. Yeah, he's guided by 8-12 years of schooling, years of internship and work experience that makes him good at his job, and far better than some slob who has only ever read one anatomy book, but none of that makes him psychic. There's always legwork to be done.
Comment
-
Makes sence, but the question in this moment in time is where do I go from here in terms of hacking, because it's seems like I have invertedly have reached a stop in terms of progressing from a beginner game hacker to a more advanced one?
I believe this is when most beginner hackers begin to give up at this stage, simply because they can not seem to find a logical way of progressing beyond this level.
At the moment I'm feeling discouraged, should I give up at this point or should I continue to learn more about memory hacking and the aspects involved in it?Last edited by jin299; 04-07-2013, 12:06:28 PM.
Comment
-
Start with the basics like making some standard codes like infinite health,money,unlock levels etc. Then using one of the many good debugger emulators (I tend to use no$psx) and set a breakpoint on the Ram addresses you found and see how those values are written in code and whatever conditions are needed and what not. This is how you learn how a game is programmed by observing what is happening when the game tries to write or read the Ram address you originally hacked. There are alot of things that you can learn by observing whats happening and learn a little assembly (MIPS) along the way.Spoiler Alert! Click to view...
THE BAD GUY!!!!!!
Comment
Comment