Announcement

Collapse
No announcement yet.

I need help hacking a code w/ PS2dis.

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

  • #16
    Yeah. There's a folder named DSI (842 MB) which has files named MV00.DSI, MV01.DSI up til MV07.DSI.

    There's another folder named XA (372 MB) which has one file in it named XA.PAK.

    There's one file named CFC.DIG (143 MB).

    And 13 other files (2.03 MB total) which I've uploaded for you here:

    http://s1.upload.sc/request/928065d1...f29db89621fcfb

    If you want to check out the others I can upload them for you too.

    Comment


    • #17
      They could've been really annoying and stuck the actual ELF into one of the other files, or even onto another session on the disc.

      Comment


      • #18
        IRX files are similar to drivers in Windows; most of the time, they're not useful for hacking codes.

        That IMG seems to be a referencing system for IRX modules...interesting stuff.

        Have you opened CFC.DIG in PS2DIS?
        I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

        Comment


        • #19
          Originally posted by Lazy Bastard View Post
          IRX files are similar to drivers in Windows; most of the time, they're not useful for hacking codes.

          That IMG seems to be a referencing system for IRX modules...interesting stuff.

          Have you opened CFC.DIG in PS2DIS?
          Tried it twice and it froze everything twice.

          Comment


          • #20
            Originally posted by Alkaiser5000 View Post
            Tried it twice and it froze everything twice.
            Sony has used the .DIG extension before in another software program that handles audio files. Could possibly be the same format as this one. If thats the case, opening it in ps2dis wouldn't do you any good.

            Comment


            • #21
              Ah.

              Then it seems we've narrowed the process down to one file. I'll keep toying with it, if you will
              I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

              Comment


              • #22
                Yes, please. ; ; Thank you!

                Comment


                • #23
                  As I've discovered what caused my ccheat hack init problem, I'll spend a little time looking at this now. Thanks for being patient. We should also invite a few CMP hackers; they're quite skilled.
                  I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                  Comment


                  • #24
                    i need help on how can i find the original value of one adresse

                    i need help because wehn i enter one adresse in ps2dis for see the original value i always fall in nop line! how i can find the original value of the adresse? please help me

                    ps i play valkyrie profile 2 and i need one on/off codes for 50000 cristal per battle

                    Comment


                    • #25
                      change the first digit to a 0

                      Comment


                      • #26
                        i have done and always send me in the same line!

                        Comment


                        • #27
                          Using PS2Dis (PS2)
                          By: 1Up

                          Introduction

                          In this tutorial, I will explain the methods of making codes for a PS2 game,
                          using the disassembling program, PS2DIS. It will teachyou the methods of
                          making codes using the MIPS commands.
                          Frequently Asked Questions
                          Table of Contents

                          What do I need to make codes?

                          What do I do once I have what I need?

                          Where can I find the location of a particular code Im looking to make?

                          Once Ive found a label pertaining to my idea, what do I do?

                          I have the label/file, but now what do I do?

                          Ok Im ready to make a code, but how do I do that?

                          What do I need to make codes?

                          In order to make codes a game, you will need the disassembling program, PS2DIS,
                          you can pick up your free copy here:


                          You will also need the scus/slus file contained on the disc, the method for
                          obtaining this is using a DVD rom drive.

                          You simply place the disc in the DVD rom drive, and open the DVD up through the
                          location of your DVD rom drive, in the icon MY COMPUTER. The file will be labeled
                          scus/slus, followed by numbers. Once open, you may drag the file to the desktop,
                          where it will save to. If you do not have a DVD rom drive, often you can find people hosting the file for download, or many people will send it to you, via email.

                          What do I do once I have what I need?
                          Once you have your scus/slus file, and the PS2DIS, you want to open PS2DIS, and then click File, and then open, the file browser will pop up. Find the location where you saved your file to, and then highlight it, and click open.

                          Once open, you will see the screen has now changed colors and the files have popped up, along with many labels next to them. Next you will want to invoke analyzer, in order to do this, click the analyzer choice, where a drop down menu will appear, next select invoke analyzer. This process will take a little while, depending on the size of the file.

                          If the game your making codes for contains, another file you have gotten from another means, I.E. a demo disc, you can import this file to be added to the list of labels. The method for doing this is clicking the analyzer choice again, and then clicking Import labels from other file (Ctrl-I). The file browser will pop up once again, where you select your file from its saved location, just as you did the previous file. The program will look as if it froze, but give it a few minutes or so and it will be back to normal, and then you're ready to hack, once the file you imported is loaded, there is no need to invoke the analyzer again.

                          Screenshot:


                          Where can I find the location of a particular code Im looking to make?
                          Though it is not as always as easy as just doing this, but the method for finding the location of yours is by browsing the labels. You may browse the labels by selecting edit, and then jump to labeled (Ctrl-G). A pop up will then appear containing all labels contained on the scus/slus file. You can use the scroll bar and move up and down the page, or you can type what your looking for into the search field, because the files usually begin with numbers, symbols, or quotes and so on, your not likely to find what your looking for, but some times you will, but the best way is to just use the scroll bar. All files are grouped according to their keywords, so you should be able to find what you need pretty easily.

                          Screenshot:


                          Once Ive found a label pertaining to my idea, what do I do?

                          Highlight the label and double click it or hit enter. The program will now go directly to the label you selected, where you are ready to browse the files surrounding it, or hack the file itself.

                          Screenshot:


                          I have the label/file, but now what do I do?

                          Most code makers will begin, by browsing the surrounding files/labels, to get an idea of what the code could be doing, many times you will go to the label you have selected and end up in the middle of the full process, which is the reasoning, behind going up or down the page viewing all previous labels and labels to come. You can either mess with the label you have selected/the surrounding labels or the labels you find around it.

                          Ok, Im ready to hack a code, but how do I do that?

                          You will need the general idea of understanding MIPS.

                          MIPS

                          ADD -- Add
                          Description: Adds two registers and stores the result in a register
                          Operation: $d=$s + $t; advance_pc (4);
                          Syntax: add $d, $s, $t
                          Encoding: 0000 00ss ssst tttt dddd d000 0010 0000

                          ADDI -- Add immediate
                          Description: Adds a register and a signed immediate value and stores the result in a register
                          Operation: $t=$s + imm; advance_pc (4);
                          Syntax: addi $t, $s, imm
                          Encoding: 0010 00ss ssst tttt iiii iiii iiii iiii

                          ADDIU -- Add immediate unsigned
                          Description: Adds a register and an unsigned immediate value and stores the result in a register
                          Operation: $t=$s + imm; advance_pc (4);
                          Syntax: addiu $t, $s, imm
                          Encoding: 0010 01ss ssst tttt iiii iiii iiii iiii

                          ADDU -- Add unsigned
                          Description: Adds two registers and stores the result in a register
                          Operation: $d=$s + $t; advance_pc (4);
                          Syntax: addu $d, $s, $t
                          Encoding: 0000 00ss ssst tttt dddd d000 0010 0001

                          AND -- Bitwise and
                          Description: Bitwise ands two registers and stores the result in a register
                          Operation: $d=$s & $t; advance_pc (4);
                          Syntax: and $d, $s, $t
                          Encoding: 0000 00ss ssst tttt dddd d000 0010 0100

                          ANDI -- Bitwise and immediate
                          Description: Bitwise ands a register and an immediate value and stores the result in a register
                          Operation: $t=$s & imm; advance_pc (4);
                          Syntax: andi $t, $s, imm
                          Encoding: 0011 00ss ssst tttt iiii iiii iiii iiii

                          BEQ -- Branch on equal
                          Description: Branches if the two registers are equal
                          Operation: if $s == $t advance_pc (offset = 0 advance_pc (offset = 0 $31=PC + 8 (or nPC + 4); advance_pc (offset 0 advance_pc (offset ; advance_pc (4);
                          Syntax: lb $t, offset($s)
                          Encoding: 1000 00ss ssst tttt iiii iiii iiii iiii

                          LUI -- Load upper immediate
                          Description: The immediate value is shifted left 16 bits and stored in the register.
                          The lower 16 bits are zeroes.
                          Operation: $t=(imm ; advance_pc (4);
                          Syntax: lw $t, offset($s)
                          Encoding: 1000 11ss ssst tttt iiii iiii iiii iiii

                          MFHI -- Move from HI
                          Description: The contents of register HI are moved to the specified register.
                          Operation: $d=$HI; advance_pc (4);
                          Syntax: mfhi $d
                          Encoding: 0000 0000 0000 0000 dddd d000 0001 0000

                          MFLO -- Move from LO
                          Description: The contents of register LO are moved to the specified register.
                          Operation: $d=$LO; advance_pc (4);
                          Syntax: mflo $d
                          Encoding: 0000 0000 0000 0000 dddd d000 0001 0010

                          MULT -- Multiply
                          Description: Multiplies $s by $t and stores the result in $LO.
                          Operation: $LO=$s * $t; advance_pc (4);
                          Syntax: mult $s, $t
                          Encoding: 0000 00ss ssst tttt 0000 0000 0001 1000

                          MULTU -- Multiply unsigned
                          Description: Multiplies $s by $t and stores the result in $LO.
                          Operation: $LO=$s * $t; advance_pc (4);
                          Syntax: multu $s, $t
                          Encoding: 0000 00ss ssst tttt 0000 0000 0001 1001

                          NOP -- no operation
                          Description: Performs no operation.
                          Operation: advance_pc (4);
                          Syntax: nop
                          Encoding: 0000 0000 0000 0000 0000 0000 0000 0000

                          Note: The encoding for a NOOP represents the instruction SLL $0, $0, 0 which has
                          no side effects. In fact, nearly every instruction that has $0 as its destination
                          register will have no side effect, and can thus be considered a NOOP instruction.

                          OR -- Bitwise or
                          Description: Bitwise logical ors two registers and stores the result in a register
                          Operation: $d=$s | $t; advance_pc (4);
                          Syntax: or $d, $s, $t
                          Encoding: 0000 00ss ssst tttt dddd d000 0010 0101

                          ORI -- Bitwise or immediate
                          Description: Bitwise ors a register and an immediate value and stores the result in a register
                          Operation: $t=$s | imm; advance_pc (4);
                          Syntax: ori $t, $s, imm
                          Encoding: 0011 01ss ssst tttt iiii iiii iiii iiii

                          SB -- Store byte
                          Description: The least significant byte of $t is stored at the specified address.
                          Operation: MEM=(0xff & $t); advance_pc (4);
                          Syntax: sb $t, offset($s)
                          Encoding: 1010 00ss ssst tttt iiii iiii iiii iiii

                          SLL -- Shift left logical
                          Description: Shifts a register value left by the shift amount listed in the instruction
                          and places the result in a third register. Zeroes are shifted in.
                          Operation: $d=$t ] h; advance_pc (4);
                          Syntax: sra $d, $t, h
                          Encoding: 0000 00-- ---t tttt dddd dhhh hh00 0011

                          SRL -- Shift right logical
                          Description: Shifts a register value right by the shift amount (shamt) and places the value
                          in the destination register. Zeroes are shifted in.
                          Operation: $d=$t ]] h; advance_pc (4);
                          Syntax: srl $d, $t, h
                          Encoding: 0000 00-- ---t tttt dddd dhhh hh00 0010

                          SRLV -- Shift right logical variable
                          Description: Shifts a register value right by the amount specified in $s and places the value
                          in the destination register. Zeroes are shifted in.
                          Operation: $d=$t ]] $s; advance_pc (4);
                          Syntax: srlv $d, $t, $s
                          Encoding: 0000 00ss ssst tttt dddd d000 0000 0110

                          SUB -- Subtract
                          Description: Subtracts two registers and stores the result in a register
                          Operation: $d=$s - $t; advance_pc (4);
                          Syntax: sub $d, $s, $t
                          Encoding: 0000 00ss ssst tttt dddd d000 0010 0010

                          SUBU -- Subtract unsigned
                          Description: Subtracts two registers and stores the result in a register
                          Operation: $d=$s - $t; advance_pc (4);
                          Syntax: subu $d, $s, $t
                          Encoding: 0000 00ss ssst tttt dddd d000 0010 0011

                          SW -- Store word
                          Description: The contents of $t is stored at the specified address.
                          Operation: MEM=$t; advance_pc (4);
                          Syntax: sw $t, offset($s)
                          Encoding: 1010 11ss ssst tttt iiii iiii iiii iiii

                          SYSCALL -- System call
                          Description: Generates a software interrupt.
                          Operation: advance_pc (4);
                          Syntax: syscall
                          Encoding: 0000 00-- ---- ---- ---- ---- --00 1100

                          XOR -- Bitwise exclusive or
                          Description: Exclusive ors two registers and stores the result in a register
                          Operation: $d=$s ^ $t; advance_pc (4);
                          Syntax: xor $d, $s, $t
                          Encoding: 0000 00ss ssst tttt dddd d--- --10 0110

                          XORI -- Bitwise exclusive or immediate
                          Description: Bitwise exclusive ors a register and an immediate value
                          and stores the result in a register
                          Operation: $t=$s ^ imm; advance_pc (4);
                          Syntax: xori $t, $s, imm
                          Encoding: 0011 10ss ssst tttt iiii iiii iiii iiii
                          Ive overlooked the MIPs, but how do I put this to use?

                          Using the Nop as an example, I'll help make some sense of these MIPS

                          The type of MIP
                          NOP -- no operation

                          Brief description of what it does.
                          Description: Performs no operation.

                          The process that will take place.
                          Operation: advance_pc (4)

                          What to type as the command.
                          Syntax: nop

                          32bit Binary Reference

                          Encoding: 0000 0000 0000 0000 0000 0000 0000 0000

                          Screenshot:


                          The selected code, is a BEQ, if you wanted to NOP it, to make it have
                          no operation in game, you double click the line, and then go down to the command, and type NOP, which is the syntax for NOP.

                          BEFORE
                          Screenshot:


                          AFTER
                          Screenshot:


                          *NOTE the changes of the data, the commands are what will give you your data
                          or the 2nd half of your line of code, it's very key of getting this correct.

                          Most common code making procedures

                          JR RA, this is the syntax for it
                          Screenshot:


                          Any time you use this, you will need to NOP the following line
                          Screenshot:


                          BEQ, this is the syntax for it, it will be followed by the variables

                          Before

                          Screenshot:


                          After
                          Screenshot:


                          *Note, I got my variables from another line of coding and entered them,
                          by putting beq and then the variables.

                          There is an easy way to do the opposite of beq, and bne, which i'll explain here.

                          If you come across a beq, and want it to do the opposite, simply double click it,
                          and delete the beq, and replace it with bne, it now does the opposite.

                          If you come across a bne, and want it to do the opposite, simply double click it,
                          and delete the bne, and replace it with beq, it now does the opposite.

                          More to come later
                          The Hackmaster

                          Comment


                          • #28
                            thanks dlevere! but i dont need to know how find codes.ihave the code but i dont know his original value! wehn i charge the game in ps2dis and invoke analyser and i push "G" button for openning the window where you can put adresse, and i enter the adresse he send me always in nop line! i dont understand! someone can help me please!!!

                            Comment


                            • #29
                              Post the name of the game that you are hacking and the code that you are using.
                              The Hackmaster

                              Comment


                              • #30
                                the game is "Valkyrie Profile 2: Silmeria US version - SLUS_214.52" and the codes is
                                "Gain 50000 Crystals Per Battle"
                                E001E140 0036D90C
                                203D39EC 3410C350

                                "Gain 100000 Exp Per Battle"
                                E002E140 0036D90C
                                203D0538 3C020001
                                203D0544 344286A0

                                Thank you for any help!!!

                                Comment

                                Working...
                                X