Python script to generate Xbox save signing keys

Over at my personal site I’ve just announced the release of a Python script to generate the keys used to digitally re-sign Xbox saves.

Using xbox-save-sig is as simple as passing in the path to a default.xbe file:

python -i /path/to/default.xbe

The output will be a text representation of the digital signature for save signing:


The script can output the key in a selection of formats and being Python can run on many different systems.

The script is licensed under the MIT License, which is pretty permissive, so feel free to fork, improve and put it to good use!

This entry was posted in News, Programming, software and tagged , , . Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback.


  1. Mike Hoechlin
    Posted October 19, 2015 at 07:07 | Permalink

    You’ve gotten this to work on Windows? When I check it, it says parentheses are missing with the print lines in lines 26-28.

  2. Posted October 19, 2015 at 09:58 | Permalink

    What version of Python are you using? The script was written for Python 2.7

  3. Mike Hoechlin
    Posted October 22, 2015 at 10:42 | Permalink

    I was using 3.5, but i went and tried 2.7.10, unless it had to be 2.7 exactly. All the same errors with 2.7.10, “‘name ‘python’ not defined”, ” ‘module’ object has no attribute ‘py'” , ” ‘default’ is not defined” ,etc. I can’t get it to use any script, even after I import it from the LIB folder. Has anyone gotten this to work on Windows?

  4. Mike Hoechlin
    Posted October 22, 2015 at 10:46 | Permalink

    Is it just for Linux, where the syntax would be entirely different in Windows? I’m using Windows 7.

  5. Posted October 22, 2015 at 11:10 | Permalink

    Mike, it works fine on Windows, I’ve tested it myself on Windows 7 with Python 2.7.10 so something might be wrong with either the command you’re running or your environment

    If you can post the exact command you’re trying to run and the full error message I can help you further.

  6. Posted October 22, 2015 at 12:55 | Permalink

    Mike, I’ve updated the script to support both Python 2 and Python 3 so hopefully you shouldn’t have any more issues. You can grab the latest version from GitHub

  7. Mike Hoechlin
    Posted May 11, 2016 at 06:32 | Permalink

    Ok, so I never figured this out; I gave up and started PSO over on my other Xbox. The natural response to that was for my second Xbox to die, so I’ve been trying this again to save my 3rd Xbox the effort of dying. Are you saying that by typing:

    “python -i” and the path to the xbe file, you get an output similar to 737E064C0236BA3E7140EC2B91D76766 in Windows 7?

    In my limited experience, typing python does not work. It seems to need to be omitted.

    Typing does not work. The .py needs to be omitted. “AttributeError: module ‘xboxsig’ has no attribute ‘py’

    even though the file is called in the LIB folder.

    Typing -i does not work. “i” is not defined.

    Let’s say for example that the default.xbe file is in C:\Python27. How exactly do I type this? Python seems to want two backword slashes and zero colons. Even then, C is not defined.

    The goal, of course, is to get my old PSO saves to work in my current Xbox. I honestly don’t think that needed to be said, but I wanted to save a little time.

    So initially, let’s say I type python -i /C:/Python27/default.xbe, and let’s assume that I’ve imported xboxsig and from xboxsig, I’ve imported *. In my limited (honestly limited, not sarcastically limited) experience, this is still a billion or a billion-and-one syntax errors beginning with the letter ‘p’. How did you get this to do…anything on Windows 7?

  8. Posted July 1, 2016 at 19:15 | Permalink

    If you’ve loaded up Python you’ve gone a step too far. From a cmd prompt simply enter ‘python -i C:\Python27\default.xbe’ (assuming you’ve put your xbe file in c:\Python27\

Leave a Reply

Your email address will not be published. Required fields are marked *

Your email address will never be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.