Coder Social home page Coder Social logo

game-pass-save-file-decoder's Introduction

Microsoft Game Pass Save File Decoder

Games that run in Microsoft Game Pass's Xbox app on Windows write save files in a non-human readable format. They are encoded in some manner that makes it unreadable and incompatible with other platforms such as Steam.

The first steps is finding a way to decode the save files and then creating an application that can provide auto backups, conversion to steam etc.

Motivation for this came about when my friend and I wanted to share save files everyday in order to be able to share unlocks when playing in CO-OP in Snowrunner.

Research Progress

So far I've identified the save files contents are saved in hex format and I just need to convert from hex to GUID.

  • I'm using Snow Runner as the basis for my development and research.
  • The save files had some form of a UUID as a name.
  • I discovered the container.x file that I couldn't fully read, even after trying lots of different encodings.
  • I found this website that takes in a container.x file and returns the name of a file and their corresponding UUID so you can rename them yourself. Although it doesn't give you the perfect name as you still have to add a suffix in some cases for duplicate file names.
  • I thought I could automate this for users through a program. Automatically re-write the file names etc in 1 click.
  • I tried researching what this file type is. I came across some site that lists all file encoding types and how they are identified through the beginning bytes in the file. Apparently the container.x file was identified as a INFO2 windows file. Used for referencing files in the Recycling bin.
  • I had no luck finding a reader that was easy to run to read this file as they all seemed to be tailored to work with the Recycling bin.
  • I decided to try read this file using a program called HxD. It allowed me to read the file in hexcode. I could see the names of the files, but couldn't identify the UUID.
  • When clicking around on different hex values in HxD I noticed there was a changing GUID value. When I selected the invalid characters it showed a correct GUID that I was looking for!
  • I then verified my findings by finding a site online to convert a hex sequence to a GUID, and it worked!
  • I now needed to find a method to programmatically convert a UUID to a GUID. They are produced differently to UUID v4.
  • The site I was using to test GUID conversion had a comment section at the bottom https://toolslick.com/conversion/data/guid. An awesome guy posted a code method (possibly C#) that converts GUID to Hex! I just needed to reverse the logic to convert a HEX to a GUID.

game-pass-save-file-decoder's People

Contributors

aldrag avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.