Announcement

Collapse
No announcement yet.

How to find rapid fire code for any game for ps2?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to find rapid fire code for any game for ps2?

    Hello everyone! I have a question, which is how to find a rapid fire code for ps2, let's say that the Residen Evil - Code Veronica X (SLUS_201.84).

    The first step is to use the cheat engine or the PCSX2dis v11 with gameshark and ps2dis integrated. But then I do not know what kind of search to do and the same thing if I found the address.

  • #2
    It depends. How do the weapons fire? Can you hold down the fire button and have the pistol shoot every couple seconds automatically or do you have to push the fire button repeatedly? If you have to push the button repeatedly then it will be more difficult to hack.

    Steps:
    1. Find the ammo deduction address/function. This is typically used to created infinite ammo codes.
    2. In most games you can use the ammo deduction address to find the "shoot weapon function".

    example:

    Code:
    player_shoot_weapon()
    If player_fire_weapon then
    {
        if weapon_cooldown_timer = 0 then
        {
             // fire weapon, deduct ammo, etc
        }
    
        // do not fire weapon as weapon was just fired
    }
    end
    3. Rapid fire happens when you disable the "weapon_cooldown_timer". In my experience this is usually found before the ammo deduction address. Some times it is in the parent function that calls the ammo deduction function. In pcsx2dis this should be a branch of some sort(beq, bne, etc).

    4. If the game does not automatically fire between cool downs then you may find another branch in the same function, or the parent function, that checks if the player is still holding the "fire weapon" button. Disabling this check may also create rapid fire.

    Comment


    • #3
      You could maybe just recursively call the fire function from the fire function and kill everything, including possibly your PS2.

      Comment


      • #4
        (Resident Evil - Code Veronica) Yes. But ... I have not focused on seeing if I could find some rapid fire code, it's strange JAJAJAJA but. I've been looking for more than 10 hours with a cheat engine for some shooting speed direction in Silent Hill (Usa) Ps1. I only focus more on silent hill because I found a thread that is this http://gamehacking.org/vb/threads/13...3969#post93969 that even I can not understand.. but i leave it later for ps1
        Originally posted by Harry62 View Post
        It depends. How do the weapons fire? Can you hold down the fire button and have the pistol shoot every couple seconds automatically or do you have to push the fire button repeatedly? If you have to push the button repeatedly then it will be more difficult to hack.
        Originally posted by Harry62 View Post
        Steps:
        1. Find the ammo deduction address/function. This is typically used to created infinite ammo codes.
        2. In most games you can use the ammo deduction address to find the "shoot weapon function".

        example:

        Code:
        player_shoot_weapon()
        If player_fire_weapon then
        {
            if weapon_cooldown_timer = 0 then
            {
                 // fire weapon, deduct ammo, etc
            }
        
            // do not fire weapon as weapon was just fired
        }
        end
        3. Rapid fire happens when you disable the "weapon_cooldown_timer". In my experience this is usually found before the ammo deduction address. Some times it is in the parent function that calls the ammo deduction function. In pcsx2dis this should be a branch of some sort(beq, bne, etc).

        4. If the game does not automatically fire between cool downs then you may find another branch in the same function, or the parent function, that checks if the player is still holding the "fire weapon" button. Disabling this check may also create rapid fire.
        Last edited by David Dezio; 05-02-2017, 12:36:12 PM. Reason: Remove Words

        Comment


        • #5
          LOL! it is not a joke?
          Originally posted by Pyriel View Post
          You could maybe just recursively call the fire function from the fire function and kill everything, including possibly your PS2.

          Comment


          • #6
            Good! I want to ask a question.

            First
            1. Find the ammo deduction address / function. This is typically used to create infinite ammo codes.

            1-What is the ammo deduction address / function?

            2. In most games you can use the ammo deduction address to find the "shoot weapon function"

            2-How do I find the "shoot weapon function"?

            3.Rapid fire happens when you disable the "weapon_cooldown_timer". In my experience this is usually found before the ammo deduction address. Some times it is in the parent function that calls the ammo deduction function. In pcsx2dis this should be a branch of some sort (beq, bne, etc).

            3-What tool would you really have to use. Ps2dis, the cheat engine? I do not know which is more convenient or easier to locate what I want to find.

            I also apologize Harry62. If it came to offend all this but... I am not an advanced hacker and I think it would be more convenient to make me an example with any game you have. That way it would be more effective to understand me

            Comment


            • #7
              Originally posted by David Dezio View Post
              Good! I want to ask a question.

              First
              1. Find the ammo deduction address / function. This is typically used to create infinite ammo codes.

              1-What is the ammo deduction address / function?

              2. In most games you can use the ammo deduction address to find the "shoot weapon function"

              2-How do I find the "shoot weapon function"?

              3.Rapid fire happens when you disable the "weapon_cooldown_timer". In my experience this is usually found before the ammo deduction address. Some times it is in the parent function that calls the ammo deduction function. In pcsx2dis this should be a branch of some sort (beq, bne, etc).

              3-What tool would you really have to use. Ps2dis, the cheat engine? I do not know which is more convenient or easier to locate what I want to find.

              I also apologize Harry62. If it came to offend all this but... I am not an advanced hacker and I think it would be more convenient to make me an example with any game you have. That way it would be more effective to understand me
              Use pcsx2dis. Look up infinite ammo and the basic ps2 hacking tutorials as well.

              Comment


              • #8
                Sorry for not answering you before Harry62. In Resident Evil Code Veronica X so I do not have a fixed address to have infinite ammunition with all weapons. In Resident Evil when you grab or have an item or weapon this is located in slot. In Resident Evil Code Veronica X There are 10 slots. Then to be able to have infinite ammunition in a weapon, you must find the address of the slot in which the weapon you want to hack is located. Example: I have a Pistol in "Slot 1". you understand me? I do not know if with the slot address you can find the rapid fire... and if you can you can pass me the link of the basic ps2 hacking tutorials? Thank you very much Harry62 and sorry for the inconvenience
                Originally posted by Harry62 View Post
                Use pcsx2dis. Look up infinite ammo and the basic ps2 hacking tutorials as well.

                Comment


                • #9
                  I've tried as much as I could. To find the address of rapid fire and branch (beq, bne, etc). I'm starting to believe that it's difficult the thing
                  Last edited by David Dezio; 05-05-2017, 08:31:20 PM. Reason: Remove Words

                  Comment


                  • #10
                    Originally posted by David Dezio View Post
                    I've tried as much as I could. To find the address of rapid fire and branch (beq, bne, etc). I'm starting to believe that it's difficult the thing
                    A code like rapid fire typically requires you to have knowledge of the assembly language. If you are a beginner then it will be difficult and I suggest you learn the basics first.

                    Comment


                    • #11
                      You could take a possible shortcut of looking at the rapid fire codes for other previous Resident Evil games and then if you own those games, just kind of see how it was found in them and try the same thing. The way I usually see rapid fire is with timers, either a timer is created and reduces to zero to allow you to fire again or else it updates an old timer and once the game time passes that updated timer it allows you to fire again.

                      Another lazy method is finding your ammo in memory and then watching nearby memory while firing to see if anything keeps changing and then allowing you to fire again once it becomes zero.

                      And now that I think about it, I'm surprised I never did anything as goofy as calling the fire function from within the fire function crashing to game. Since I even started off so dumb learning about the "lhu" operation on the PS2 from Pyriel with that pause-inducing memory scanner thing I did on the PS2, I had the game infinitely loop backwards if buttons didn't change and got lucky that Okami had some special thing in place or something to prevent idiots like me from crashing the game that way because other games crashed.

                      If you instead find just the line of code that directly saves your new reduced amount of ammo and go up through the functions changing the first line of each to go the return address you are likely to start finding odd effects. Usually I change one that prevents me from firing my weapon, and then I go from there through the lines starting at the end of the function working to the beginning preventing things from being saved until I hopefully find a timer somewhere and find it. It's a better method when you have games that break up the reload timer into multiple reload timers like I had with Batman Arkham City and likely missed in other games without knowing.
                      Last edited by bungholio; 05-07-2017, 09:55:00 AM.
                      July 7, 2019

                      https://www.4shared.com/s/fLf6qQ66Zee
                      https://www.sendspace.com/file/jvsdbd

                      Comment


                      • #12
                        Many thanks Harry62! I might be a beginner in assembly language. But in what I emphasize, is that I learn fast. I love all this kind of things. I could spend a whole day looking for this kind of thing. I think it's not too late to learn a bit about hacking... but thank you very much, I'll read about the assembly language
                        Originally posted by Harry62 View Post
                        A code like rapid fire typically requires you to have knowledge of the assembly language. If you are a beginner then it will be difficult and I suggest you learn the basics first.
                        Last edited by David Dezio; 05-07-2017, 04:14:53 PM. Reason: Edit Words

                        Comment


                        • #13
                          Yes! I was surprised by that. As calling the fire function from within the fire function crashing to game ...
                          I had never heard that and thank you very much bungholio. I will try to do the things you have told me
                          Originally posted by bungholio View Post
                          You could take a possible shortcut of looking at the rapid fire codes for other previous Resident Evil games and then if you own those games, just kind of see how it was found in them and try the same thing. The way I usually see rapid fire is with timers, either a timer is created and reduces to zero to allow you to fire again or else it updates an old timer and once the game time passes that updated timer it allows you to fire again.

                          Another lazy method is finding your ammo in memory and then watching nearby memory while firing to see if anything keeps changing and then allowing you to fire again once it becomes zero.

                          And now that I think about it, I'm surprised I never did anything as goofy as calling the fire function from within the fire function crashing to game. Since I even started off so dumb learning about the "lhu" operation on the PS2 from Pyriel with that pause-inducing memory scanner thing I did on the PS2, I had the game infinitely loop backwards if buttons didn't change and got lucky that Okami had some special thing in place or something to prevent idiots like me from crashing the game that way because other games crashed.

                          If you instead find just the line of code that directly saves your new reduced amount of ammo and go up through the functions changing the first line of each to go the return address you are likely to start finding odd effects. Usually I change one that prevents me from firing my weapon, and then I go from there through the lines starting at the end of the function working to the beginning preventing things from being saved until I hopefully find a timer somewhere and find it. It's a better method when you have games that break up the reload timer into multiple reload timers like I had with Batman Arkham City and likely missed in other games without knowing.
                          Last edited by David Dezio; 05-07-2017, 04:22:29 PM. Reason: Edit Words

                          Comment


                          • #14
                            Functions have to be created with recursive calls in mind. If there isn't a way to end the chain of calls and bubble back up, the best you can hope for is an infinite loop. It's more likely the program will crash withing a few calls due to some odd exception, or, if that doesn't happen quickly, the system will lock up when all the stack space is consumed and necessary data gets stepped on.

                            Comment


                            • #15
                              And is it possible that you tell me an example with a game of how to create that with ps2dis? It does not have to be such a real example, but only with words and a little ps2dis, not to bother you. Or someone to help me in this? The truth is that I still do not understand how to start with all this ... if I could read some example made with some game of ps2 could understand. And sorry that I have not answered before, is that I am striving in my studies
                              Originally posted by Pyriel View Post
                              Functions have to be created with recursive calls in mind. If there isn't a way to end the chain of calls and bubble back up, the best you can hope for is an infinite loop. It's more likely the program will crash withing a few calls due to some odd exception, or, if that doesn't happen quickly, the system will lock up when all the stack space is consumed and necessary data gets stepped on.

                              Comment

                              Working...
                              X