Skip to content

Commit

Permalink
Add travis badge to readme, add readme to travis builds
Browse files Browse the repository at this point in the history
  • Loading branch information
emoose committed Mar 20, 2019
1 parent 03f0974 commit 3614116
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
5 changes: 4 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ before_deploy:
- mkdir $PUBLISH_TARGET
- for proj in {XVDTool,XBFSTool,DurangoKeyExtractor}; do dotnet publish -c Release -r $PUBLISH_TARGET -o publish-$PUBLISH_TARGET $proj; done
- for proj in {XVDTool,XBFSTool,DurangoKeyExtractor}; do cp -R $proj/publish-$PUBLISH_TARGET/* $PUBLISH_TARGET/; done
- zip -r XVDTool-$PUBLISH_TARGET-$TRAVIS_BRANCH.zip $PUBLISH_TARGET/
- cp README.md $PUBLISH_TARGET/
- cd $PUBLISH_TARGET
- zip -r ../XVDTool-$PUBLISH_TARGET-$TRAVIS_BRANCH.zip .
- cd $TRAVIS_BUILD_DIR

deploy:
- provider: releases
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
### xvdtool - by emoose (aka noob25x)
# xvdtool [![Build status](https://api.travis-ci.com/emoose/xvdtool.svg?branch=master)](https://travis-ci.com/emoose/xvdtool)

xvdtool is a C# command-line utility for manipulating Xbox One XVD/XVC packages. It can print detailed info about package headers, resign, rehash, en/decrypt and verify data integrity of a package, it can also convert (some, but not all) decrypted XVD files to VHD.

So far it's only been tested with dev-crypted packages (which use a different 256-bit **Offline Distribution Key (ODK)** to retail packages), as the retail key is still unknown. **This currently makes the tool useless for 90% of people**, but developers looking into how XVD files work will find a detailed mapping of the XVD structures and complete methods for manipulating them.
So far it's only been tested with dev-crypted packages (which use a different 256-bit **Offline Distribution Key (ODK)** to retail packages), as the retail key is still unknown. **This currently makes the tool useless for 90% of people**, but developers looking into how XVD files work will find a detailed mapping of the XVD structures and near-complete methods for manipulating them.

However **no encryption keys are provided with this tool**, you'll have to find them yourself. Hashes (MD5/SHA256) for the dev keys are provided below.
However **no encryption keys are provided with this tool**, you'll have to find them yourself. Hashes for the dev keys are provided below.
If you have an Xbox One development kit or GamingServices framework (Windows10-exclusive) installed, you can use DurangoKeyExtractor to extract the keys from there.

Also included is a tool for extracting files from the XBFS (Xbox Boot File System) inside the Xbox One NAND, based on tuxuser's original [NANDOne](https://github.com/tuxuser/NANDOne) work with a few small additions.
Expand Down Expand Up @@ -66,7 +66,7 @@ To decrypt non-XVC packages you'll need the correct ODK. The devkit ODK is "wide

Decrypting XVC packages is a different matter, XVC packages use a **Content Instance Key (CIK)** which appears to be stored somewhere outside the package, however where and how it's stored is currently unknown. If you have the correct deobfuscated CIK for a given package you should be able to use it to to decrypt the package.

Devkit/test-signed XVC packages use a static CIK which is also "widely known" (Checksums hash provided below).
Devkit/test-signed XVC packages use a static CIK which is also "widely known" (Hash provided below).

### Required Files
To make full use of this tool you'll need the following files, which **are not included**. The tool will work fine without them, but some functions might not work.
Expand Down Expand Up @@ -122,8 +122,8 @@ Additionally, you can provide keys from arbitrary filesystem locations via the r

#### Naming the keys
For CIK it is not important how the keys are named if they have the binary structure of `[16 byte encryption key GUID][32 byte CIK]`.
Xvd signing keys should have a distinct identifier so you can refer to them via the `-sk (-signkey)` cmdline switch.
Odk need to be named either by OdkIndex (`<index>.odk`) or by its identifier: `RedOdk.odk, StandardOdk.odk etc.`
XVD signing keys should have a distinct identifier so you can refer to them via the `-sk (-signkey)` cmdline switch.
ODK needs to be named either by OdkIndex (`<index>.odk`) or by its identifier: `RedOdk.odk, StandardOdk.odk etc.`
For detailed up-to-date info refer to: `LibXboxOne/Keys/`

### What are XVDs?
Expand Down

0 comments on commit 3614116

Please sign in to comment.