Announcement

Collapse
No announcement yet.

PS2dis

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

  • PS2dis

    how to hack numbers, time, using .word? I try to find referers, but it says no referers found? I press shift+3 and no pop up window appears? I tried labels and in the game all labels are in quotes, and I get no referers?

  • #2
    Originally posted by Atari2600 View Post
    how to hack numbers, time, using .word? I try to find referers, but it says no referers found? I press shift+3 and no pop up window appears? I tried labels and in the game all labels are in quotes, and I get no referers?
    The best way to do this is to have a live memory dump. If you are using the emulator you can do a save state then open the save state with winrar or winzip. You should see the EE memory bin file, this is what you want to open in ps2dis.

    You can now look for a string that represents the time under the labels list. When you find a string you can mark the address using the space bar and then you can click F3. This will find any referrals to that address. If any results are found it should bring you back to a function. If not you need to take the address of the string and click SHIFT + F3 and paste the address into the first text box. After pressing ok it should find any pointers that are referencing the strings address. Continue the previous steps on each new pointer found until you find a function that is handling it. If you have gotten to this point then look above for an address that is being loaded. You should find a jal that calls SPRINTF with a string that looks similar to this format "%02d:%02d". You will have to look at the registers being sent to sprintf to decide which register to follow. Eventually you will ether find a function that returns the times address or the address of time being loaded into the function.

    Here is an example of the time printing function in SOCOM II
    Click image for larger version

Name:	example.png
Views:	1
Size:	43.1 KB
ID:	162841
    Last edited by Cronotrigga; 04-30-2016, 05:35:46 PM.

    Comment


    • #3
      thanks. hope I can figure all this out.....

      Comment


      • #4
        I see save state, but it gives options of slot 1 an so on.....i click on it an nothing happens.......

        Comment


        • #5
          Originally posted by Atari2600 View Post
          I see save state, but it gives options of slot 1 an so on.....i click on it an nothing happens.......
          That means it saved. You need to go into the folder structure for pcsx2 and locate the savestate folder.

          Comment


          • #6
            Most games use a function like sprintf function. Hopefully this link can help you as well to use as a reference. http://www.codinghs.com/forums/showt...Sprintf-System
            Last edited by Professor-X; 05-10-2016, 01:21:19 AM.

            Comment


            • #7
              Once I find the label where the function is located. I make a little subroutine using the argument registers around the jal function and have it link to my subroutine so that it can print out the information in temp registers. Or you can erase argument registers around the jal function and use the j command to jump out of the stack and copy argument registers that you erase into a new memory map location. Then setup a subroutine using temporary registers to print out the information then have it jump back into the stack. Hope this helps but it's really the same information as I kinda stated above lol. But hey they are many ways
              Last edited by Professor-X; 05-10-2016, 01:36:31 AM.

              Comment


              • #8
                Originally posted by Professor-X View Post
                Once I find the label where the function is located. I make a little subroutine using the argument registers around the jal function and have it link to my subroutine so that it can print out the information in temp registers. Or you can erase argument registers around the jal function and use the j command to jump out of the stack and copy argument registers that you erase into a new memory map location. Then setup a subroutine using temporary registers to print out the information then have it jump back into the stack. Hope this helps but it's really the same information as I kinda stated above lol. But hey they are many ways
                I did similar concepts on socom Ca and II when I was using a console. I have found that using the emulator and the pcsx2dis to be way better. Pcsx2dis allows you to stack trace and set break points. It also allows you to register dump and memory search live. This has made coding far easier and efficient, especially when it comes to the amount of time it would take to perform most of these tasks.
                Last edited by Cronotrigga; 05-11-2016, 08:59:46 PM.

                Comment


                • #9
                  Originally posted by Cronotrigga View Post
                  I did similar concepts on socom Ca and II when I was using a console. I have found that using the emulator and the pcsx2dis to be way better. Pcsx2dis allows you to stack trace and set break points. It also allows you to register dump and memory search live. This has made coding far easier and efficient, especially when it comes to the amount of time it would take to perform most of these tasks.
                  Very interesting, I never heard of the Pcsx2dis but it sounds very useful I have to try it out. Thank you for the tip.

                  Comment


                  • #10
                    Can pcsx2dis be used for psp memory dumps?

                    Comment


                    • #11
                      Originally posted by Professor-X View Post
                      Can pcsx2dis be used for psp memory dumps?
                      pcsx2dis is built into the pcsx2 emulator. You can find it on the pcsx2 forum by searching. Some random guy just recreated the ps2dis for pcsx2. Its pretty cool and far better then the native emulator that was introduced into pcsx2.

                      Comment

                      Working...
                      X