Miscellaneous Forums > Scripting and Reverse Engineering

[FF7PC 2012]MetaData.xml

(1/5) > >>

sithlord48:
the new FF7 Pc uses a cloud save feature that keeps you saves synced with the saves on the server. this causes an issue for people who want to edit their save files. while there is a workaround i think we can do better and just edit the control file for this the metadata.xml file.

here would be a good place to discuss how to do it

it looks like this

--- Quote from: squall8cloud7 ---
--- Code: ---<?xml version="1.0" encoding="UTF-8"?>
<gamestatus>
  <savefiles block="1">
    <timestamp slot="1">1344992396295</timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>3b8a475ea39ac1ce0b63d6f4b84abbb5</signature>
  </savefiles>
  <savefiles block="2">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="3">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="4">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="5">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="6">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="7">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="8">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="9">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
  <savefiles block="10">
    <timestamp slot="1"></timestamp>
    <timestamp slot="2"></timestamp>
    <timestamp slot="3"></timestamp>
    <timestamp slot="4"></timestamp>
    <timestamp slot="5"></timestamp>
    <timestamp slot="6"></timestamp>
    <timestamp slot="7"></timestamp>
    <timestamp slot="8"></timestamp>
    <timestamp slot="9"></timestamp>
    <timestamp slot="10"></timestamp>
    <timestamp slot="11"></timestamp>
    <timestamp slot="12"></timestamp>
    <timestamp slot="13"></timestamp>
    <timestamp slot="14"></timestamp>
    <timestamp slot="15"></timestamp>
    <signature>cc3eee5cb5b1c7a08a776ffdfb6618c9</signature>
  </savefiles>
</gamestatus>

--- End code ---

--- End quote ---

now as you can see there are two parts to this first is adding a timestamp to a slot when editing it.. this is the easy part.
and the hard part would be the signature , how is it created (its not an md5sum of the save) it is 128 bit  and while the empty files are not created they do have a signature in the metadata.xml file , i have seen two files each had a different empty signature.  does anyone know how to create this signature?

omega res novae:
quote from squallcloud87 who is that lol. the metadata updates with new information even if offline so wouldnt that mean one of the new files in the rerelease contain a hint?

myst6re:
This is an extended timestamp, the last three digits are maybe for the microseconds.

sithlord48:

--- Quote from: myst6re on 2012-08-22 10:22:29 ---This is an extended timestamp, the last three digits are maybe for the microseconds.

--- End quote ---
i think they are using something similar to QDateTime::CurrentMSecsSinceEpoch() to make the timestamp.

DLPB_:

--- Quote from: myst6re on 2012-08-22 10:22:29 ---This is an extended timestamp, the last three digits are maybe for the microseconds.

--- End quote ---

The time stamp is the number of milliseconds since 1970.  That doesn't help with the hash though.

I would have thought the hash was just some sort of checksum on the actual save files.  One for each save file. 

Navigation

[0] Message Index

[#] Next page

Go to full version