Jump to content

How To Dump Games On Xbox One / One X


Recommended Posts

  • Members
Posted (edited)

*Important. Backup the game you want to dump. Copy the game to a USB flash drive via the Xbox dashboard, and backup your license files in S:\Clip to a USB flash drive!*

⭐Read This: The game you are dumping must be installed on your Internal Storage. ⭐

⭐Games that are less than 2GB, or larger than 39GB might not be able to be dumped via this method.⭐

⭐Certain games (such as Minecraft or Undertale) can't be dumped using this method.⭐

A. Preparing Vermintide 2 Save file.

 Download Dotnet 6.0 SDK x86_64 Binary for windows:
https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-6.0.424-windows-x64-binaries
 
 1. Extract dotnet-sdk-6.0.424-win-x64.zip to a new folder named dotnet. Move the dotnet folder to the root of your USB flash drive.
 (For ex, if your USB is E: -> E:\dotnet)
 
 2. Download this XML and move to root of USB flash drive:
https://github.com/xboxoneresearch/Interop/blob/main/msbuild_tasks/mount_connectedstorage.xml
 
 3. Copy this code and paste it in a file named dump.bat. Move dump.bat to the root of your USB flash drive: (credits to burninrubber0 in the Xbox Scene Discord for this code)

 for /R /D %%d in (.\*) do (
    mkdir D:\xb1\saves%%~pnxd
)
for /R %%f in (.\*) do (
    copy %%f D:\xb1\saves%%~pnxf
)

4. After the dotnet, dump.bat, and mount_connectedstorage.xml are on your USB flash drive, do the Collateral Damage Game Script exploit. 

4-1/2. To reduce the amount of  "Fatal error. Internal CLR error" spam in the reverse shell (xbox) command prompt, run this command after each Collateral Damage/GS exploit:

set DOTNET_CLI_TELEMETRY_OPTOUT=1

5. On the reverse shell on your PC, type

D:\dotnet\dotnet.exe msbuild D:\mount_connectedstorage.xml

6. The previous command will output the Harddisk# where your saves are located.
Run this command using that Harddisk# that it showed you (in this ex, mine is Harddisk18):

mklink /j T:\connectedStorage "\\?\GLOBALROOT\Device\Harddisk18\Partition1\"

7. Then in the reverse shell, type in these commands to change directory and copy your saves to your USB drive:

T:
cd connectedStorage
D:\dump.bat

8. Insert USB flash drive in PC. In the xb1\saves\ folder look for a folder that contains `u_####_C05F0100-EAC5-49EB-943F-1A0E3C108361`
This is the save folder for Warhammer Vermintide 2, open the folder, then open the next folder. You should see a file named with a unique id and a container file.
The file named after the unique id is the save. Open this save file in notepad.

9. On your pc download this Github repo: https://github.com/xboxoneresearch/LuaFFI-CE.
Open the stage1.lua in notepad, *change the IP address to your PC's IP ADDRESS*, copy everything in there, and put the code into your Vermintide 2 save (using notepad). Be sure to replace everything in the save with this code!

10. Put your updated save on your USB flash drive, then copy the save to where it should be in the Warhammer save folder.
 Everybody's unique id will be different. 
 My location is:

 T:\connectedStorage\u_2535434839607031_C05F0100-EAC5-49EB-943F-1A0E3C108361\{F1997DC1-51FF-49CB-A9BA-59D042BB4AFB}

The command I used to copy the my save is below. both the name of your save file and the folder it's in will be different than mine.:

copy D:\{7621630A-3FAC-4645-8136-873124F4768C}  T:\connectedStorage\u_2535434839607031_C05F0100-EAC5-49EB-943F-1A0E3C108361\{F1997DC1-51FF-49CB-A9BA-59D042BB4AFB}

Type "Yes" When Prompted to Overwrite

 

⭐10-1/2. Reboot your Xbox. You will need to reboot to unlink T:\connectedStorage.

B. Dumping with Warhammer:
 For these next steps, we will get the dumping server set up, along with a tool that'll show you what license belongs to which game. Credits to Invoxiplaygames/Emma for making these super useful tools!
https://github.com/InvoxiPlayGames/LicenseClipFinder
https://github.com/InvoxiPlayGames/OneDumpgame
 (You can either compile these, or use these binaries that I compiled for my windows PC: https://drive.google.com/file/d/1rvQWw1txtdGEiK4jn6kGKybwJGkApeup/view?usp=sharing)
 
 11. You will need your license files on your PC. If you have them, proceed to next step. If not, then in Collateral Damage's reverse shell on your PC, type these commands:

mkdir D:\Licenses
copy S:\Clip D:\Licenses


 12. Back on the PC, go to the LicenseClipFinder.exe that you compiled or downloaded. Copy your license folder next to the exe, make sure the folder is named Clips
 Run the LicenseClipFinder.exe in command prompt and it should show you the content id and license file associated with all of your games.
 
 12-1/2. *If you didn't back up your game (copy it to a usb flash drive via the dashboard, do so now!).*
 
 13. Downloaded these two msbuild xmls and put on the root of your usb flash drive:
https://github.com/xboxoneresearch/Interop/blob/main/msbuild_tasks/get_tempxvd_owners.xml
https://github.com/xboxoneresearch/Interop/blob/main/msbuild_tasks/prepare_gamedump.xml
 
14. On your Xbox, start up Warhammer Vermintide 2. Hit the Xbox (home) button, then on the Warhammer icon press 'start' then 'quit'. 


15. Open up Game Script, do the GS/Collateral Damage exploit. Plug your USB flash drive in your Xbox and run this command:

D:\dotnet\dotnet.exe msbuild D:\get_tempxvd_owners.xml

16. It'll give you the temp XVD number for Warhammer. This should stay the same if you don't open up other games for now. 


17. Put the USB flash drive in your PC, and edit prepare_gamedump.xml. Towards the bottom of the xml there's a portion for you to edit. 

Change the temp XVD to your temp XVD number for Warhammer, and the content and license file name to what LicenseClipFinder showed you in step 12.

17-1/2. *Last chance to make sure your game and licenses are backed up. If you haven't, copy game via the dash, copy the S:\Clip folder to your PC.*

18. Plug your USB flash drive back into your Xbox. Then in the Game Script/Collateral Damage reverse shell on your pc, type in this command:

D:\dotnet\dotnet.exe msbuild D:\prepare_gamedump.xml

19. If it works, you will see the files streamed into the temp XVD for Warhammer Vermintide 2.

20. Once it's finished and says `license loaded`, on your PC go to the OneDumpgame folder. Open dumpgame.lua and change the IP to your PC's IP address.
21. Open a terminal/command prompt in the same folder as dumpgame.lua. Once you're in the same directory, use this command:

cat dumpgame.lua | nc64.exe -w 1 -lvp 8123


*If prompted to allow for the firewall, hit allow*
22. Open a terminal/command prompt as Administrator in the same folder as DumpgameServer.exe. Once you're in the same directory, use this command 

.\DumpgameServer.exe


*If prompted to allow for the firewall, hit allow*

22-1/2. If you compiled OneDumpgame, make a folder named `tx` the same folder as DumpgameServer.exe. This is where the games will dump to, and the program won't dump if the folder is missing.

23. Start Warhammer Vermintide 2, hit "A", if everything goes right you should see the files being transferred to your PC in the terminal window running DumpgameServer.exe. If the DumpgameServer.exe exits with no files transferred, then maybe your game wasn't compatible.
 

C. Restoring Games after Dumping

You may notice that your game might not start after successfully running prepare_gamedump.xml, and it will be stuck in an updating state. 

1. Uninstall the game from the internal storage. The Xbox may appear to be stuck when attempting to uninstall the game, but be patient and if reboot until the game is gone from Internal Storage.

2. Copy the game over from USB External Storage to the Internal Storage via the Storage Devices option in Settings.

3. Do Collateral Damage/Game Script exploit. Copy license for game from USB flash drive to S:\Clip

4. Reboot Xbox, then start the game. It will get the game ready and then launch.

 

D. Troubleshooting

🛠️Cannot find the file specified error:

The "PrepareGameDump" task failed unexpectedly
System.IO.FileNotFoundException: The system cannot find the file specified (0x80070002)

I. Make sure the game is installed on the Xbox's Internal Storage.

II. In prepare_gamedump.xml, check if the content id of the game matches the XVC file.
 

To verify, copy game to USB drive via the dash.

Then on a PC use Xbox One External Storage Device Converter (https://digiex.net/threads/xbox-one-external-usb-storage-device-converter-xbox-one-formatted-usb-drives-on-pc.13583/)

Convert drive to PC format. The games will be named after the content ID. If you have multiple games on the drive, you can use the file size to determine which is the XVC of the game you want (won't have a file extension but it's a XVC). 

III. Check that you're using the right license for the game.

 

🛠️There is not enough disk space error:

D:\prepare_gamedump.xml(529,7): error MSB4018: The "PrepareGamedump" task failed unexpectedly.
D:\prepare_gamedump.xml(529,7): error MSB4018: System.Runtime.InteropServices.COMException (0x80070070): There is not enough space on the disk. (0x80070070)

This means that the Temp Content Partition on your Xbox is too small, it must be resized. 

Edited by BirdonWheels
Updated download link for LicenseClipFinder, changed download host to Google Drive.
  • Like 3
  • Thanks 1
Link to comment
Share on other sites

  • Members
Posted (edited)

⭐E. Dumping Games on Series Consoles (Series S or X) ⭐

For Series consoles, in prepare_gamedump.xml change XTE: in the TEMP_XVD_PATH to XUC:

const string TEMP_XVD_PATH = @"[XUC:]\temp00"; // Replace with temp<NUM> of exploited game
const string SRC_XVC_PATH = @"[XUC:]\7049126b-609b-4d08-b5cb-0d407e8dfec1"; // target game to dump
const string LICENSE_FILE = @"S:\Clip\08d211ae-3d46-42ad-8139-2d13d52cf8b5"; // license for target game


💿F. Dumping Xbox One Game Discs 💿

To dump disc-based Xbox one games, you must use the digital version of Warhammer Vermintide 2 and the target game must be installed to the console. Once installed to the internal storage, you will need to find the content id and license path for your game.

1. Look in the catalog.js file to find the content id. In Collateral Damage's reverse shell, type this command:

type O:\MSXC\Metadata\catalog.js

2. Look for contentId, the content id will be in the quotations, for ex. Transformers Devastation is 7049126b-609b-4d08-b5cb-0d407e8dfec1

3. The license file we'll use will be on the disc, in my case the path was O:\Licenses\License0.xml

4. Edit your prepare_gamedump.xml, change the paths for SRC_XVC_PATH to the content id. Then change LICENSE_FILE path to the path to a license .xml on your disc. I'm using XUC: as the TEMP_XVD_PATH because I'm using a Series console, use XTE: for Xbone/One x.

const string TEMP_XVD_PATH = @"[XUC:]\temp00"; // Replace with temp<NUM> of exploited game
const string SRC_XVC_PATH = @"[XUC:]\7049126b-609b-4d08-b5cb-0d407e8dfec1"; // transformers devastation
const string LICENSE_FILE = @"O:\Licenses\License0.xml";

Continue to Part B, step 18. Be sure to backup your game via copying to a USB flash drive via the dashboard.

Edited by BirdonWheels
added a missing code block
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...