Coming Soon: NHL 13 Roster Editor (PS3)

Collapse

Recommended Videos

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Jattbreed
    Banned
    • Oct 2009
    • 270

    #76
    Re: Coming Soon: NHL 13 Roster Editor (PS3)

    If this works, NHL 14 will be a no buy.

    Comment

    • blinky
      Rookie
      • Apr 2012
      • 67

      #77
      Re: Coming Soon: NHL 13 Roster Editor (PS3)

      If read-only is all we can have for the time being, an attribute exporter would be awesome as well.

      Good luck in your findings!

      Comment

      • Blackwood Bully
        Rookie
        • Oct 2012
        • 42

        #78
        Re: Coming Soon: NHL 13 Roster Editor (PS3)

        Originally posted by Jattbreed
        If this works, NHL 14 will be a no buy.
        It's already a no buy for Me. A new fighting engine does nothing for Me.

        Comment

        • ReMiNiSc3
          Rookie
          • Dec 2010
          • 20

          #79
          Re: Coming Soon: NHL 13 Roster Editor (PS3)

          Unfortunately, still no updates. The main issue is that I can't see how that checksum/hash is generated. If this was a Windows based game this would have been finished a while ago. The only way around this is to disassemble the executable and figure out in ASM how it's being generated.

          I have already done that. I have the PPC64 binary for the game disassambled. Problem is, I don't have a 'hacked' PS3. I need to get on that REBUG CFW so that I can dump the memory when the game is calling the function that is doing the hash checking.

          I have the CRC function mapped out in ASM and it basically goes like this:
          Code:
          seg001:00000000009BF978 # =============== S U B R O U T I N E =======================================
          seg001:00000000009BF978
          seg001:00000000009BF978
          seg001:00000000009BF978 sub_9BF978:                             # CODE XREF: sub_9BFA50+94p
          seg001:00000000009BF978                                         # sub_9BFA50+A8p ...
          seg001:00000000009BF978                 mr        r6, r5
          seg001:00000000009BF97C                 mr        r5, r4
          seg001:00000000009BF980                 lis       r4, 0x22B
          seg001:00000000009BF984                 addic     r4, r4, 0x1E90
          seg001:00000000009BF988                 lwz       r7, 4(r4)
          seg001:00000000009BF98C                 cmpwi     r7, 0
          seg001:00000000009BF990                 bne       loc_9BFA08
          seg001:00000000009BF994                 lis       r6, 0x4C1 # 0x4C11DB7
          seg001:00000000009BF998                 li        r9, 0
          seg001:00000000009BF99C                 ori       r6, r6, 0x1DB7 # 0x4C11DB7
          seg001:00000000009BF9A0
          seg001:00000000009BF9A0 loc_9BF9A0:                             # CODE XREF: sub_9BF978+80j
          seg001:00000000009BF9A0                 slwi      r8, r9, 24
          seg001:00000000009BF9A4                 li        r7, 8
          seg001:00000000009BF9A8
          seg001:00000000009BF9A8 loc_9BF9A8:                             # CODE XREF: sub_9BF978+68j
          seg001:00000000009BF9A8                 clrrwi    r10, r8, 31
          seg001:00000000009BF9AC                 li        r11, 0
          seg001:00000000009BF9B0                 slwi      r8, r8, 1
          seg001:00000000009BF9B4                 subfc     r10, r10, r11
          seg001:00000000009BF9B8                 xor       r11, r8, r6
          seg001:00000000009BF9BC                 cntlzw    r10, r10
          seg001:00000000009BF9C0                 addic     r7, r7, -1
          seg001:00000000009BF9C4                 sldi      r10, r10, 58
          seg001:00000000009BF9C8                 subfc     r8, r11, r8
          seg001:00000000009BF9CC                 sradi     r10, r10, 0x3F
          seg001:00000000009BF9D0                 clrlwi    r7, r7, 16
          seg001:00000000009BF9D4                 and       r8, r10, r8
          seg001:00000000009BF9D8                 cmpwi     r7, 0
          seg001:00000000009BF9DC                 addc      r8, r11, r8
          seg001:00000000009BF9E0                 bgt       loc_9BF9A8
          seg001:00000000009BF9E4                 slwi      r7, r9, 2
          seg001:00000000009BF9E8                 addic     r9, r9, 1
          seg001:00000000009BF9EC                 clrlwi    r9, r9, 16
          seg001:00000000009BF9F0                 cmpwi     r9, 0x100
          seg001:00000000009BF9F4                 stwx      r8, r4, r7
          seg001:00000000009BF9F8                 blt       loc_9BF9A0
          seg001:00000000009BF9FC                 lis       r6, -1 # 0xFFFFFFFF
          seg001:00000000009BFA00                 ori       r6, r6, 0xFFFF # 0xFFFFFFFF
          seg001:00000000009BFA04                 clrldi    r6, r6, 32
          seg001:00000000009BFA08
          seg001:00000000009BFA08 loc_9BFA08:                             # CODE XREF: sub_9BF978+18j
          seg001:00000000009BFA08                 cmpwi     r5, 0
          seg001:00000000009BFA0C                 beq       loc_9BFA44
          seg001:00000000009BFA10
          seg001:00000000009BFA10 loc_9BFA10:                             # CODE XREF: sub_9BF978+C8j
          seg001:00000000009BFA10                 addic     r8, r3, 1
          seg001:00000000009BFA14                 srwi      r7, r6, 24
          seg001:00000000009BFA18                 lbz       r3, 0(r3)
          seg001:00000000009BFA1C                 slwi      r6, r6, 8
          seg001:00000000009BFA20                 addic     r5, r5, -1
          seg001:00000000009BFA24                 xor       r3, r7, r3
          seg001:00000000009BFA28                 cmpwi     r5, 0
          seg001:00000000009BFA2C                 slwi      r7, r3, 2
          seg001:00000000009BFA30                 clrldi    r3, r8, 32
          seg001:00000000009BFA34                 lwzx      r7, r4, r7
          seg001:00000000009BFA38                 xor       r6, r6, r7
          seg001:00000000009BFA3C                 clrldi    r6, r6, 32
          seg001:00000000009BFA40                 bne       loc_9BFA10
          seg001:00000000009BFA44
          seg001:00000000009BFA44 loc_9BFA44:                             # CODE XREF: sub_9BF978+94j
          seg001:00000000009BFA44                 mr        r3, r6
          seg001:00000000009BFA48                 blr
          seg001:00000000009BFA48 # End of function sub_9BF978
          Problem is, the first hash @0x10 has got to be proprietary and doesn't seem to be generated the same way as the other ones. I understand there are ways to break the CRC32 protection (eg inserting x chars at the end of the stream to reach the 'desired' CRC) but it will not work in this scenario. However, I have a feeling that the work I have done will eventually pay off.

          Allowing us to edit the rosters with NO restrictions will prolong the life of this game for years to come. Also, I highly doubt EA is going to completely change the DB format for NHL14 so in most ways this will be compatible with the new game as well.

          NHL 13 IMO is a solid game but I think 14 will fix a lot of the things that were annoying in 13. Things like the skating pivoting, not facing the right way/angle, PS3 load speeds, etc are all things that I hope are addressed in the new game.

          For people that love GM mode like myself, this will be a big help for. GM mode ATM becomes very stale after about 5 seasons in this game because the draft classes are TERRIBLE. Player progression is COMPLETELY broken as well.

          We pay $60 for this game year in/year out because this is the only option right now for hockey gaming fans. My goal in doing this is not to 'hack' the game but to make it a more enjoyable experience for those of us who do love hockey gaming.

          Comment

          • Blackwood Bully
            Rookie
            • Oct 2012
            • 42

            #80
            Re: Coming Soon: NHL 13 Roster Editor (PS3)

            The best bet for Hockey fans might be FHM 13 in September.

            Comment

            • blinky
              Rookie
              • Apr 2012
              • 67

              #81
              Re: Coming Soon: NHL 13 Roster Editor (PS3)

              Great work ReM. You're so close!

              Some of us have posted about a Read-Only version of the Editor program, even if editing isn't yet possible. Exporting attributes would be a wonderful thing, beats going in the game just to check someone's attributes. Export statistics would make our website alive again.

              Would that be feasible?

              Comment

              • Moose24x
                Pro
                • Jan 2012
                • 502

                #82
                Re: Coming Soon: NHL 13 Roster Editor (PS3)

                Having read through the thread entirely, I know development has basically stalled on this and I realize how difficult the roadblock you've arrived at is, but I wanted to commend you on the work done, and the idea itself. If this tool were ever to become functional, I would literally weep for joy. There is a very large number of horrible things that I would probably do to have something like this available. With EA's annual hockey game virtually the only video game I play, you can imagine I do a lot of tinkering with rosters and edits and work arounds and CAPs trying to get my game as real as possible. This tool would be a game changer.

                Comment

                • blinky
                  Rookie
                  • Apr 2012
                  • 67

                  #83
                  Re: Coming Soon: NHL 13 Roster Editor (PS3)

                  Great post Moose24x! lol!

                  Comment

                  • archibalduk
                    Rookie
                    • Jun 2006
                    • 36

                    #84
                    Re: Coming Soon: NHL 13 Roster Editor (PS3)

                    Ah you're getting so close! Keep up the great work. There are a lot of us here rooting for you.

                    Like you, I want to prolong the fun of NHL 13 rather than waste £40 on a new iteration which won't be significantly different. If you're happy to share the code/structure if/when you figure out the CRC, I'm up for writing an XBox 360 editor.
                    Webmaster of The Blue Line - Your #1 resource and forums for NHL Eastside Hockey Manager & Franchise Hockey Manager - http://www.ehmtheblueline.com

                    Comment

                    • puckhead73
                      Pro
                      • Aug 2010
                      • 772

                      #85
                      Originally posted by ReMiNiSc3
                      Unfortunately, still no updates. The main issue is that I can't see how that checksum/hash is generated. If this was a Windows based game this would have been finished a while ago. The only way around this is to disassemble the executable and figure out in ASM how it's being generated.

                      I have already done that. I have the PPC64 binary for the game disassambled. Problem is, I don't have a 'hacked' PS3. I need to get on that REBUG CFW so that I can dump the memory when the game is calling the function that is doing the hash checking.

                      I have the CRC function mapped out in ASM and it basically goes like this:
                      Code:
                      seg001:00000000009BF978 # =============== S U B R O U T I N E =======================================
                      seg001:00000000009BF978
                      seg001:00000000009BF978
                      seg001:00000000009BF978 sub_9BF978:                             # CODE XREF: sub_9BFA50+94p
                      seg001:00000000009BF978                                         # sub_9BFA50+A8p ...
                      seg001:00000000009BF978                 mr        r6, r5
                      seg001:00000000009BF97C                 mr        r5, r4
                      seg001:00000000009BF980                 lis       r4, 0x22B
                      seg001:00000000009BF984                 addic     r4, r4, 0x1E90
                      seg001:00000000009BF988                 lwz       r7, 4(r4)
                      seg001:00000000009BF98C                 cmpwi     r7, 0
                      seg001:00000000009BF990                 bne       loc_9BFA08
                      seg001:00000000009BF994                 lis       r6, 0x4C1 # 0x4C11DB7
                      seg001:00000000009BF998                 li        r9, 0
                      seg001:00000000009BF99C                 ori       r6, r6, 0x1DB7 # 0x4C11DB7
                      seg001:00000000009BF9A0
                      seg001:00000000009BF9A0 loc_9BF9A0:                             # CODE XREF: sub_9BF978+80j
                      seg001:00000000009BF9A0                 slwi      r8, r9, 24
                      seg001:00000000009BF9A4                 li        r7, 8
                      seg001:00000000009BF9A8
                      seg001:00000000009BF9A8 loc_9BF9A8:                             # CODE XREF: sub_9BF978+68j
                      seg001:00000000009BF9A8                 clrrwi    r10, r8, 31
                      seg001:00000000009BF9AC                 li        r11, 0
                      seg001:00000000009BF9B0                 slwi      r8, r8, 1
                      seg001:00000000009BF9B4                 subfc     r10, r10, r11
                      seg001:00000000009BF9B8                 xor       r11, r8, r6
                      seg001:00000000009BF9BC                 cntlzw    r10, r10
                      seg001:00000000009BF9C0                 addic     r7, r7, -1
                      seg001:00000000009BF9C4                 sldi      r10, r10, 58
                      seg001:00000000009BF9C8                 subfc     r8, r11, r8
                      seg001:00000000009BF9CC                 sradi     r10, r10, 0x3F
                      seg001:00000000009BF9D0                 clrlwi    r7, r7, 16
                      seg001:00000000009BF9D4                 and       r8, r10, r8
                      seg001:00000000009BF9D8                 cmpwi     r7, 0
                      seg001:00000000009BF9DC                 addc      r8, r11, r8
                      seg001:00000000009BF9E0                 bgt       loc_9BF9A8
                      seg001:00000000009BF9E4                 slwi      r7, r9, 2
                      seg001:00000000009BF9E8                 addic     r9, r9, 1
                      seg001:00000000009BF9EC                 clrlwi    r9, r9, 16
                      seg001:00000000009BF9F0                 cmpwi     r9, 0x100
                      seg001:00000000009BF9F4                 stwx      r8, r4, r7
                      seg001:00000000009BF9F8                 blt       loc_9BF9A0
                      seg001:00000000009BF9FC                 lis       r6, -1 # 0xFFFFFFFF
                      seg001:00000000009BFA00                 ori       r6, r6, 0xFFFF # 0xFFFFFFFF
                      seg001:00000000009BFA04                 clrldi    r6, r6, 32
                      seg001:00000000009BFA08
                      seg001:00000000009BFA08 loc_9BFA08:                             # CODE XREF: sub_9BF978+18j
                      seg001:00000000009BFA08                 cmpwi     r5, 0
                      seg001:00000000009BFA0C                 beq       loc_9BFA44
                      seg001:00000000009BFA10
                      seg001:00000000009BFA10 loc_9BFA10:                             # CODE XREF: sub_9BF978+C8j
                      seg001:00000000009BFA10                 addic     r8, r3, 1
                      seg001:00000000009BFA14                 srwi      r7, r6, 24
                      seg001:00000000009BFA18                 lbz       r3, 0(r3)
                      seg001:00000000009BFA1C                 slwi      r6, r6, 8
                      seg001:00000000009BFA20                 addic     r5, r5, -1
                      seg001:00000000009BFA24                 xor       r3, r7, r3
                      seg001:00000000009BFA28                 cmpwi     r5, 0
                      seg001:00000000009BFA2C                 slwi      r7, r3, 2
                      seg001:00000000009BFA30                 clrldi    r3, r8, 32
                      seg001:00000000009BFA34                 lwzx      r7, r4, r7
                      seg001:00000000009BFA38                 xor       r6, r6, r7
                      seg001:00000000009BFA3C                 clrldi    r6, r6, 32
                      seg001:00000000009BFA40                 bne       loc_9BFA10
                      seg001:00000000009BFA44
                      seg001:00000000009BFA44 loc_9BFA44:                             # CODE XREF: sub_9BF978+94j
                      seg001:00000000009BFA44                 mr        r3, r6
                      seg001:00000000009BFA48                 blr
                      seg001:00000000009BFA48 # End of function sub_9BF978
                      Problem is, the first hash @0x10 has got to be proprietary and doesn't seem to be generated the same way as the other ones. I understand there are ways to break the CRC32 protection (eg inserting x chars at the end of the stream to reach the 'desired' CRC) but it will not work in this scenario. However, I have a feeling that the work I have done will eventually pay off.

                      Allowing us to edit the rosters with NO restrictions will prolong the life of this game for years to come. Also, I highly doubt EA is going to completely change the DB format for NHL14 so in most ways this will be compatible with the new game as well.

                      NHL 13 IMO is a solid game but I think 14 will fix a lot of the things that were annoying in 13. Things like the skating pivoting, not facing the right way/angle, PS3 load speeds, etc are all things that I hope are addressed in the new game.

                      For people that love GM mode like myself, this will be a big help for. GM mode ATM becomes very stale after about 5 seasons in this game because the draft classes are TERRIBLE. Player progression is COMPLETELY broken as well.

                      We pay $60 for this game year in/year out because this is the only option right now for hockey gaming fans. My goal in doing this is not to 'hack' the game but to make it a more enjoyable experience for those of us who do love hockey gaming.

                      So question on this. In order for progress to be made do you just need someone with a hacked ps3 to assist? Or is it more ccomplicated then access to one?

                      Sent from my SCH-I535 using Tapatalk 2
                      NHLREVAMPED - CO-CREATOR
                      REVAMPEDROSTERS-
                      NHL14 - http://goo.gl/rtEVLy
                      NHL13 - http://goo.gl/Gmb9sf


                      CYCLONIAC'S MUSIC PACK - http://goo.gl/oPQtZt

                      Comment

                      • archibalduk
                        Rookie
                        • Jun 2006
                        • 36

                        #86
                        Re: Coming Soon: NHL 13 Roster Editor (PS3)

                        The guy who wrote NHL View suggests as though the CRC for the PS3 has already been figured out ( http://www.artemkh.com/index.php ):

                        January 2, 2013

                        Happy New Year everyone, especially to those who still visit this page. One day it will happen - new NHLView will see the light of day. Today is not that day, but some exciting news does come for PS3 owners. Recent developments in PS3 reverse engineering made it finally possible to decrypt and re-encrypt roster save files for NHL 11, 12 and 13 (previous save games were not encrypted). Now the only real obstacle left is time.
                        I get the impression that this CRC issue is not a problem for the XBox 360. I'm going to try experimenting later today. If there isn't an XBox CRC issues then I would be very interested indeed to see ReMiNiSc3's notes/code on the DB structure because I could get started on an XBox 360 editor (which I'd be happy to make open source if it would help ReMiNiSc3 and anybody else).
                        Webmaster of The Blue Line - Your #1 resource and forums for NHL Eastside Hockey Manager & Franchise Hockey Manager - http://www.ehmtheblueline.com

                        Comment

                        • ReMiNiSc3
                          Rookie
                          • Dec 2010
                          • 20

                          #87
                          Re: Coming Soon: NHL 13 Roster Editor (PS3)

                          Originally posted by archibalduk
                          The guy who wrote NHL View suggests as though the CRC for the PS3 has already been figured out ( http://www.artemkh.com/index.php ):



                          I get the impression that this CRC issue is not a problem for the XBox 360. I'm going to try experimenting later today. If there isn't an XBox CRC issues then I would be very interested indeed to see ReMiNiSc3's notes/code on the DB structure because I could get started on an XBox 360 editor (which I'd be happy to make open source if it would help ReMiNiSc3 and anybody else).
                          There are two different 32 bit hashes. One IS a CRC32 hash.

                          The CRC32 hash protects the data in each table. If you check out the SYS-DATA file for the PS3, you will see the structure.

                          The problem is the 32 bit hash near the header of the file. It is at offset 0x10 and is not calculated using the same parameters of the main CRC32.

                          The main CRC32 is calculated using:
                          POLY: 0x4C11DB7
                          INIT: 0xFFFFFFFF
                          XOR: 0

                          Check the attached image. You will see what I mean. I highlighted a small range of data and calculated the CRC using my hex editor and it matches the highlighted hash.

                          The first hash that is highlighted at 0x10 is the main problem. If I can figure out HOW that is generated, it will unlock the file allowing us to make whatever changes we want, re-encrypt it and send it back off to the PS3.

                          I am not sure about the structure of the XBOX roster file. I have heard of an MC02 format which I'm pretty sure somebody has developed something for. If that's the case, then you should already be able to edit NHL 13 rosters for the 360.

                          EDIT:
                          Also wanted to note that the other hash at 0x10 may not be a CRC32 hash. It could be some other proprietary 32 bit checksum or it could be just hashing a different range of data OR something else completely different. I've already tested Adler32 and Fletcher and no luck.
                          Attached Files
                          Last edited by ReMiNiSc3; 07-15-2013, 08:43 AM.

                          Comment

                          • luby3131
                            Rookie
                            • Apr 2010
                            • 262

                            #88
                            Re: Coming Soon: NHL 13 Roster Editor (PS3)

                            ReMiNiSc3, I don't know anything about the process to create this editor, but I do know that some of the guys over on the NBA 2k board were able to create one for that game. Now I know it's probably coded differently because it's not an EA Sports game, but I figured they might be a good resource for you.

                            I hope you get this done, I've been working on a roster for next season and this roster would make it perfect to tie up all the loose ends (contracts, draft years, birth years, etc.)

                            Comment

                            • archibalduk
                              Rookie
                              • Jun 2006
                              • 36

                              #89
                              Re: Coming Soon: NHL 13 Roster Editor (PS3)

                              I took a look at the XBox roster files but cannot see anything that would help me figure out the data structure. I can see the names and teams, but I can't figure out where the attributes are. Reminisc mentioned in his first post of the thread about encrypted rosters. I guess that's the problem with the XBox rosters too. I tried making a couple of attribute changes in NHL and then compared the rosters before and after with a hex editor and there were many bytes that were different - presumably because it is encrypted and/or compressed...
                              Webmaster of The Blue Line - Your #1 resource and forums for NHL Eastside Hockey Manager & Franchise Hockey Manager - http://www.ehmtheblueline.com

                              Comment

                              • Majingir
                                Moderator
                                • Apr 2005
                                • 47433

                                #90
                                Re: Coming Soon: NHL 13 Roster Editor (PS3)

                                Will this still be happening or not?

                                Comment

                                Working...