Copy Flag problem

Started by Dude, December 30, 2009, 05:31:07 AM

Previous topic - Next topic

Dude

Sure hope you guys can help...

I routinely make backups xof all my saves, even the copy protected ones, and store them on SD.  One game, Call of Duty: Modern Warfare: Reflex, requires the removal of the copy protection in order to backup so I used Geckos v1.9.3 and rebooted with it.

The save copied fine and stored nicely.  Now, here's the problem...  We had a power cut here from a snow storm and it cut the power off while I was playing....LO AND BEHOLD....my save on the wii was damaged.  2nd prestige...gone.  Unlocks....gone  :'(

I tried to copy the backup and it transfered over without a hitch EXCEPT for the fact that the game says THIS save is corrupted TOO.  Now, I know that the save is perfect.  But it just won't work.  the only difference is that the latest Geckos software strips teh no-copy flag out of the save....

So I tested this:  I started a new save and played for a bit.  Then I used an older version of geckos and used the rebooter to remove the no-copy protection, copied the save and unplugged my wii.  Turning it back on I deleted the save off of the wii and tried to copy the save over - it's protected (so far so good).  Used rebooter on old geckos again, copied the save and tried again...  The save works!

My only conclusion is that CAll of Duty: Modern Warfare: Reflex checks for the copy bit in the save.
Can anyone else confirm this?  I'v heard that you can edit saves to REMOVE the No-Copy bit in saves using a Hex Editor, but how would I put it BACK IN?

I'm so upset that I may have lost my data, but think (hope) that it can be brought back  :'(  If anyone can help me put the copy bit back in the save then I can test and check back with the results.  Thanks in advance.

elmoreas

Just in case no one here can help you I know that Sifjar and Arikado on http://forum.wiibrew.org/ could probably help you or at the very least connenct you with someone who does know. They are heavyily involved in HBC programing including programs that alter saved games, I even remember one of them talking about this little copy bit flag you are talking about and taking it out and putting it back in again, I just dont remember if they did it or were discussing it with the person who did do it but they will know. They are super nice and will respond to PMs from strangers just drop them a line and ask. Hope this helps. Later.

Elmoreas
"I am new but I am learning"
"I help others not to help myself but just to help others"
"I may need help now but I may be able to help you in the future so rember the Golden Rule"

Dude

Thanks for your reply, Elmoreas.

I have contacted Arikado and hopefully manage to rectify this problem (and hopefully gain insight into what may be going on).

My progress so far has confirmed that using a save that has had the no-copy flag stripped from it will not be accepted by the game and states it as being corrupt.  Using Geckos v1.07 only removes it from memory (I think) and leaves the game intact (Though you need to use rebooter to copy it back to the wii) but is accepted by the game.

I've made a new save and copied it using version 1.07 (keeping the no-copy flag) and also using v1.9.3 (removing this flag) to see if I can compare them using a hex editor to locate the protection.  I obviously have ZERO knowledge of the structure of Wii game saves and have had no luck to finding it lol  So much appears to have changed yet they are the EXACT same saves...just copied with and without the flag...with no alterations to the data in between.  Must be the encryption made before the Wii copies the save to the SD card.

Any more help would be greatly appreciated.  Really need to solve this riddle and also get my precious save back :(

elmoreas

I have no idea if this will help but you could try save game manager which contains save game extractor and save game installer the link is http://wiibrew.org/wiki/Savegame_Manager but you will need HBC installed and will need the trucha bug and ES Identify bug active on IOS 36 and 249 (not the pirate one just the trucha and ES Identify ones) you can install them with TBR the link is http://wiibrew.org/wiki/Trucha_Bug_Restorer but be careful as both modify your NAND and can cause a brick, you should back up your NAND with bootmii and set bootmii to boot2 if you can if not you should get a savemii just in case. Of course it is unlikely but don't hold me responsible I am just passing along information. I have used all of these with no problems but that doesnt mean you wont have issues. Just be careful. I suggest waiting for the pro's to respond but if they cannot help this is a last ditch possibility. The way save game installer works is it overwrites the installed saved game with the one on the SD card and patches it to make it compatible even if it is copy protected which sounds like what is your issue. So it is possible that it might work for you. None of this is illegal as it is allowed on wiibrew which has a stict no piracy policy so you are safe in that sense its just that some of this modifies the NAND on the drive, which can sometimes be risky. The only other thing I can think of is to surf the wiibrew website applications and see if there is an app that will modify your save and allow you to reinstall it, also check the forums for mention of apps not listed but still on the site that will do the same thing. Only mainstream apps are listed on the apps page but there are still lots more but they are only accessible by searching for them by name and you only get those names by reading the forums or knowing and talking to the right people on the forums such as Sifjar and Arikado. Still I suggest waiting for them but this is a last chance possibility. But DO NOT HOLD ME RESPONSIBLE IF IT BRICKS YOUR SYSTEM! I am just providing the info what you do with it is up to you. I hope you understand I am not trying to be mean I am just trying to help and protect myself at the same time. I do hope this helps. Talk to you later.

Sincerely,
Elmoreas
"I am new but I am learning"
"I help others not to help myself but just to help others"
"I may need help now but I may be able to help you in the future so rember the Golden Rule"

WiiPower

Are you sure it's related to the old Gecko OS? Did you try to delete the corrupted save and then copy the backup over with the new Gecko OS?

Dude

I would never hold anyone else responsible for damage to my wii lol I know enough to understand what is risky and what is not, so would only do what I am 100% sure of after extensive research on it.

I had already deleted the corrupted save off my wii before I tried my backup (Can't copy it back while there is a copy present on the wii).  The backup was made using Geckos V1.9.3 to reboot and remove the No-Copy flag.  to the best of my knowledge it is a perfect, un-altered save.  Later version of Geckos after 1.07 properly removed that no-copy flag from saves so that they could be copied BACK to the wii.  Geckos 1.07 doesn't and that is why I tested the theory.

Here are the steps that I took..so bare with me:
1 - booted the game after the power was restored and it said the save was corrupt.  I have a backup so just allowed the game ot delete it.
2 - I copied the backup to my wii and booted the game again.  It said that it was ALSO corrupt.
3 - Tried again, except I used the copy I had compressed and archived on my PC (just incase these situations happen *sigh*).  the save unzipped perfectly so I copied it over.  Same result, corrupted.
4 - found the nearest wall and stood smacking my head against it....then had an idea....
5 - booted the game and made a NEW save.  Played for a bit then quit the game.
6 - Used Geckos v1.9.3 to reboot and remove the no-copy flag.  Copied this to my SD card, then onto my PC.
7 - Turned off my wii and unplugged for 1 minute (just to make sure the memory is clear, etc.  Playing it safe ;))
8 - Turned the wii back on and DELETED the save on my Wii.  Booted the game again and made a NEW save, played for a bit, quit the game.
9 - Used Geckos v1.07 and reboot removing the no-copy flag.  Copied this to the SD card, then also onto my PC.
10 - Deleted the save OFF my wii and turned off for 1 minute (same drill as before ;))
11 - Copied the backup made using GECKOS V1.9.3 to SD.  Booted the wii and copied the save over (It copied to the wii without a hitch...)
12 - booted the game.  the save was CORRUPTED!  I let the game delete the save and then quit.
13 - Copied the backup made using GECKOS v1.07 onto my SD, tried to copy over to the wii...it said the DATA CANNOT BE MOVED! (hmm)
14 - Booted GECKOS v1.07 and rebooted the wii, removing the No-Copy flag.
15 - Tried to copy the save again...copied without a hitch.
16 - Booted the game....the save is perfect, ZERO problems and ALL stats, etc, are there....

I can only assume that the game is actively checking for the presence of the no-copy flag, and it is missing from my backup.

I have a wii on v3.1 and do have bootmii installed on boot2.  I made a backup just before I started to play the game since I intended to use Geckos to install the missing IOS51.  I also have both the extractor and installer for game saves but tend to only use that as a last resort since it splits the save into it's component parts (not as the standard .bin of saves that I prefer to archive).

So, please, can anyone help me put this no-copy bit into my save so I can recover and test my save?  Or maybe take the steps I did and confirm if this theory is correct?

elmoreas

I cannot help with that but I can point out a flaw in your steps to fix the situation. You said you unplugged the Wii for 1 minute, but that wont work as the wii has an internal power source to maintain the memory for up to 1 month. It is a hearing aid style battery. You would have to remove it, which is easy as it is removed from the outside of the case with a regular phillips screwdriver, to completely clear the buffer. It is on the bottom of the Wii just below the front panel. You will see a tiny little screw and a small panel about 1 inch by half an inch in size. If you unscrew the screw and pull out the panel it pulls out the battery. You do not lose anything other than time and date and your wireless settings and sensor bar settings but anything commited to memory is preserved. So you would have to of course delete the file. But I am just pointing out the 1 minute unplugged would not have done what you would have wanted it to so maybe this will. It is a shot in the dark but at this point it couldnt hurt since all you lose is 15 mins of your time doing it and 5 mins resetting your settings. I would give it a try and see if it works. I pulled mine during a case change and all I lost was what I stated above so I speak from experience as to what is and is not lost. Sorry I can not be of more help.

Sincerely,
Elmoreas
"I am new but I am learning"
"I help others not to help myself but just to help others"
"I may need help now but I may be able to help you in the future so rember the Golden Rule"

Dude

No worries.  I welcome all feedback, good and bad (just try to be nice, folks :p lol)

I understand that there is a lithium battery inside the wii and that the purpose of it is to retain the internal clock and settings, etc.
I had read somewhere that certain changes to the wii, more specifically modifications to memory, will remain present even after a reset and that unplugging from the socket can clear it.
The purpose of doing this is to ensure that the changes made by each version of the rebooter are removed between each backup.  I guess I'm being a little to stringent with it but want to eliminate as many things as possible lol I've got my forensic hat on :p

Thanks for maintaining your feedback, Elmoreas.  I have contacted Arikados on Wiibrew and made a thread there also.  I'll be sure to keep each thread updated to anything new.  fingers crossed that I'm right  :'(  Really want my save back.


Dude

Ok, the results are in!

After much testing I can confirm that the absence of the No-Copy flag causes Call of Duty: Modern Warfare: Reflex to treat the save as corrupt.

Here's how I found this out:

1)  I created a new save made a backup after using the rebooter in Geckos v1.07b.  This save copies back to the wii if you use the rebooter again and the save works perfectly - No corruption.
2)  I made a dump using Save Game Extractor and set this aside for comparison.
3)  I made a bcakup using the rebooter in Geckos v1.9.3.  This save copied back to the wii WITHOUT rebooter but the game treated it as being corrupt.
4)  I made a dump of this corrupt save using Save Game Extractor and compared the location of the No-Copy flag in the non-corrupt save.
5)  I modified the bit in the corrupt save to match the one in the working copy.
6)  I then used Save Game Installer to inject this save onto the Wii.
7)  After booting the game it loaded without any complaints and all data is INTACT :D

The No-Copy flag is in the Banner.bin file at offset 0x07 (01 is set, 00 is not set) of an unencrypted save.

Note:  I also tested this with my old save and it also restored it.  My most recent save has progressed further than my inital one but atleast it is a double win :p

A GREAT BIG THANKS goes to Kenobi for his feedback and patience in helping me with this theory.  Not only did he provide me with ideas and information as to the location of this flag, but he also provided additional knowledge regarding it.  Thanks Again, Kenobi :)
Thanks also to Elmoreas.  I already had Save Game Extractor but it did prove an essential tool in resolving my suspicions.
And thank you, KirbyRose18 ;)  Kept trying and succeeded.

Now, the only methods that I know preserves the flag is to use Geckos v1.07b or Save Game Extractor.  I don't know if this will become a trend for developers or if it's just an isloated situation but perhaps the developers of Geckos may like to take this into consideration for future versions?  Perhaps inlcuding an option of using a text file with the GameIDs of games that use this method and leaving the save untouched with a note of using Rebooter to copy the save back...  Just a suggestion :p

Sorry for the block of text.  In addition I'll be posting my findings on http://forum.wiibrew.org/

SifJar

QuoteNow, the only methods that I know preserves the flag is to use Geckos v1.07b or Save Game Extractor.  I don't know if this will become a trend for developers or if it's just an isloated situation but perhaps the developers of Geckos may like to take this into consideration for future versions?  Perhaps inlcuding an option of using a text file with the GameIDs of games that use this method and leaving the save untouched with a note of using Rebooter to copy the save back...  Just a suggestion

I don't think that'd be possible. Gecko OS doesn't actually touch the saves, so it can't choose which ones to do what to. It just patches the System Menu, meaning the same thing will happen to all saves. If you were to make a System Menu patch which did different things to different saves, it'd have to be huge and complex, dunno if it'd even be possible.

Dude

I've actually been looking a little deeper into this to check for certain if the game is simply checking the no-copy flag.

While the absence of this flag triggers the game to treat the save as corrupt, it also behaves this way if ANY data in the save is modified after the save is made.  I can only assume that some checksum is compared when accessing the save.  The best I've been able to check is by messing around with modifying random values from my stats in the game.  Every modification gives the same "corruption" as the copy-flag did but reverting any changes back restores it.

It now seems quite unlikely that any modification to GeckOS is needed.  I have limited knowledge regarding the software internals of the Wii or about coding for it...but I do understand how difficult, or even dangerous, it would be to make allowances for something like this.  Glad that I checked a little deeper about it :p  I really should have done this before making my suggestion (I'll add this up for experience ;D)

Quick question though:  I'm still fuzzy about this but did earlier versions of GeckOS simply patch the System Menu to prevent it from CHECKING the copy-flag upon copying?  And do newer versions now patch the system to prevent WRITING the copy-flag during encryption? - I'd love to have this cleared up a little for me :)