|
1 | | -### xvdtool - by emoose (aka noob25x) |
| 1 | +# xvdtool [](https://travis-ci.com/emoose/xvdtool) |
2 | 2 |
|
3 | 3 | 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. |
4 | 4 |
|
5 | | -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. |
| 5 | +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. |
6 | 6 |
|
7 | | -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. |
| 7 | +However **no encryption keys are provided with this tool**, you'll have to find them yourself. Hashes for the dev keys are provided below. |
8 | 8 | If you have an Xbox One development kit or GamingServices framework (Windows10-exclusive) installed, you can use DurangoKeyExtractor to extract the keys from there. |
9 | 9 |
|
10 | 10 | 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. |
@@ -66,7 +66,7 @@ To decrypt non-XVC packages you'll need the correct ODK. The devkit ODK is "wide |
66 | 66 |
|
67 | 67 | 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. |
68 | 68 |
|
69 | | -Devkit/test-signed XVC packages use a static CIK which is also "widely known" (Checksums hash provided below). |
| 69 | +Devkit/test-signed XVC packages use a static CIK which is also "widely known" (Hash provided below). |
70 | 70 |
|
71 | 71 | ### Required Files |
72 | 72 | 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. |
@@ -122,8 +122,8 @@ Additionally, you can provide keys from arbitrary filesystem locations via the r |
122 | 122 |
|
123 | 123 | #### Naming the keys |
124 | 124 | 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]`. |
125 | | -Xvd signing keys should have a distinct identifier so you can refer to them via the `-sk (-signkey)` cmdline switch. |
126 | | -Odk need to be named either by OdkIndex (`<index>.odk`) or by its identifier: `RedOdk.odk, StandardOdk.odk etc.` |
| 125 | +XVD signing keys should have a distinct identifier so you can refer to them via the `-sk (-signkey)` cmdline switch. |
| 126 | +ODK needs to be named either by OdkIndex (`<index>.odk`) or by its identifier: `RedOdk.odk, StandardOdk.odk etc.` |
127 | 127 | For detailed up-to-date info refer to: `LibXboxOne/Keys/` |
128 | 128 |
|
129 | 129 | ### What are XVDs? |
|
0 commit comments