Miscellaneous Forums > Scripting and Reverse Engineering
[FF7PC 2012]MetaData.xml
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