XTool is program made specifically repackaging games by providing a full suite of useful features such as data precompression, archiving, encryption and etc. With that being said, nothing restricts it from being used on everyday files such as documents, pictures and media but with few limitations.
Read the documentation to find out how it works and how to use it.
What's New in Version 0.4.2 See changelog
Released
- Removed debugging code from encryption and executable codec
- Fixed issue with depth when using search codec
- Fixed external executable support issues
Configuration Based
Cyberpunk 2077
Supported games
- Cyberpunk 2077 (requires oo2ext_7_win64.dll)
Usage
Place (cp2077.ini) near xtool.exe along with required libraries and use -mcp2077
Comparison (basegame_4_animation.archive)
oo2reck
Compressed 1 file, 1,062,289,408 => 1,642,925,099 bytes. Ratio 154.66% Compression time: cpu 1.22 sec/real 510.06 sec = 0%. Speed 2.08 mB/s
xtool 2020 -mkraken
Compressed 1 file, 1,062,289,408 => 1,625,753,845 bytes. Ratio 153.04% Compression time: cpu 1.14 sec/real 78.62 sec = 1%. Speed 13.51 mB/s
xtool 2020 -mcp2077
Compressed 1 file, 1,062,289,408 => 2,399,648,730 bytes. Ratio 225.89% Compression time: cpu 1.23 sec/real 32.01 sec = 4%. Speed 33.19 mB/s
Download: cp2077_R1.7z
EA Frostbite Engine
Supported games
- Dragon Age Inquisition (requires zlibwapi.dll)
- FIFA 18, FIFA 19, FIFA 20, FIFA 21, NFS Heat (require oo2core_*_win64.dll) (use from game)
- NFS Rivals, NFS 2015, NFS Payback (requires liblz4.dll)
- Mirror's Edge Catalyst (requires liblz4.dll)
- Battlefield 4, Battlefield 1, Battlefield Hardline, Battlefield V (requires liblz4.dll)
- Mass Effect Andromeda (requires libzstd.dll)
- NFS Heat
Usage
Place (frostbite3.ini) near xtool.exe along with required libraries and use -mfrostbite3
Changelog
R1 - Initial release R2 - Configuration updated to support latest xtool
Download: frostbite3_R3.7z, frostbite3_libraries.7z
Saints Row: The Third - Remastered
Supported games
- Saints Row The Third Remastered (requires liblz4.dll)
Usage
Place (SR3Remaster.ini) near xtool.exe along with required libraries and use -msr3remaster
Changelog
R1 - Initial release
Download: SR3Remaster_R1.7z
Database Based
Ubisoft Dunia 2 Engine
Supported games
- Far Cry Primal (requires liblz4.dll, lz4dunia.dll)
- Far Cry 5 (requires liblz4.dll)
- The Crew 2 (requires oo2core_5_win64.dll)
- Watch Dogs 2 (requires liblz4.dll, lz4dunia.dll)
- Watch Dogs Legion (requires liblz4.dll, lz4dunia.dll)
To be Added
- Far Cry 3
- Far Cry 4
- Far Cry New Dawn
- The Crew
- Watch Dogs
Usage
Place database (*.xtl) file near xtool.exe along with the required library. Use -mfc5 as an example
Changelog
R1 - Initial release
Download: farcry5_R1.7z, farcryprimal_R3.7z, thecrew2_R2.7z, watchdogs2_R3.7z, watchdogslegion_R3.7z
Library Based
Bethesda
Supported games
- The Elder Scrolls V: Skyrim (requires liblz4.dll)
Usage
Place (bsa.dll) near xtool.exe along with required libraries and use -mskyrim
Notes
- The library is required both encoding and decoding.
Some results
Skyrim - Textures0.bsa
Compressed 1 file, 655,189,115 => 1,436,500,795 bytes. Ratio 219.25% Compression time: cpu 0.69 sec/real 15.58 sec = 4%. Speed 42.06 mB/s Tested 1 file, 1,436,500,795 => 655,189,115 bytes. Ratio 219.25% Testing time: cpu 0.69 sec/real 7.27 sec = 9%. Speed 90.11 mB/s
Download: bethesda_R1.7z
Hitman
Supported games
- Hitman 3
Usage
Place (hitman.dll) near xtool.exe along with required libraries and use -mhitman3
Notes
- The library is required both encoding and decoding.
- The game will be decrypted and precompressed in one go but you have to use -d1 parameter.
- The method to use -mhitman3+lz4
- liblz4.dll is required
Information useful for plugin's completion is taken from here: https://zenhax.com/viewtopic.php?f=9&t=14768
Download: hitman_R2.7z
Unreal Engine
Supported games
- lzna compressed unreal engine 3 games
- Encrypted unreal engine 4 games
Methods available
- ue3
- ue4
UE3
Usage
Place (unreal.dll) near xtool.exe and use -mue3
Notes
Only lzna compressed games are supported, mainly Mortal Kombat 11
UE4
m = method (1 = games that use borderlands3, street figher v... format, 2 = games that use rune ii format) k = key in hexadecimal.
Usage
Place (unreal.dll) near xtool.exe and use -mue4:m1:kAAF9AF1F40225A1241C120533277804B09A56CE78CBF100C131423788DB0E34F
Notes
- The library is required both encoding and decoding.
- This tool only decrypts like ue4dt but since xtool also does precompress data so if a game for example is zlib compressed and also encrypted. You can use -mzlib+ue4:m1:kAAF9AF1F40225A1241C120533277804B09A56CE78 CBF100C131423788DB0E34F
- The order of the method does not matter, you can write it as -mzlib+ue4:m1:kAAF9A.. (or) mue4:m1:kAAF9A...+zlib, it will still work.
- The game will be decrypted and precompressed in one go but you have to use -d1 parameter
Example
[External compressor:xtool] header = 0 packcmd = xtool.exe precomp -mzlib+ue4:m1:kAAF9AF1F40225A1241C120533277804B09A56CE78CBF100C131423788DB0E34F -c32mb -t100p -d1 --dbase - - <stdin> <stdout> unpackcmd = xtool.exe decode -t100p - - <stdin> <stdout>
Benchmarks
ue4dt (side project)
Compressed 1 file, 244,260,523 => 244,260,523 bytes. Ratio 100.00% Compression time: cpu 0.23 sec/real 17.06 sec = 1%. Speed 14.32 mB/s Extracted 1 file, 244,260,523 => 244,260,523 bytes. Ratio 100.00% Extraction time: cpu 0.42 sec/real 17.09 sec = 2%. Speed 14.29 mB/s
ue4 (plugin version)
Compressed 1 file, 244,260,523 => 244,271,444 bytes. Ratio 100.00% Compression time: cpu 0.22 sec/real 1.59 sec = 14%. Speed 153.56 mB/s Extracted 1 file, 244,271,444 => 244,260,523 bytes. Ratio 100.00% Extraction time: cpu 0.59 sec/real 1.07 sec = 55%. Speed 228.27 mB/s
Download: unrealengine_R3.7z
Notes
- *.ini and *.xtl files can be discarded when decoding, they will no be longer needed.
- *.dll are required both encoding and decoding