Wrote some POC for aes keys finder (one exe -> one key or not found). JRE 8 or above is required to run it. Readme is included in the archive (please read it carefully to avoid issues). Virustotal report for those who care:
link.
Bleeding Edge is supported, unless they'll change something related in the code. Last Oasis is also supported in version 0.9c. Finder can detect protected games starting from version 0.9d. Small fixes in version 0.9e. Additional message in case if a key is not found in version 0.9f.
Update 14.07.2020:POC for aes keys finder in mobile games added (one game -> one key or not found). JRE 8 or above is required to run it. Readme is included in the archive (please read it carefully to avoid issues). Virustotal report for those who care:
link.
Fixed premature appearance of key.txt, fixed issue when finder could work more than expected, added total execution time to output message in version 0.9c. Some optimizations were removed to improve compatibility with newest games in version 0.9d. More optimizations were removed to improve compatibility with some old games in version 0.9e (previous version is recommended though).
Known unsupported games: PUBG (all versions), Sea of Thieves.
-----------------------------------------------------------------------
I've desided to move all modified scripts to one post (this one). The reason why they can't be merged is because currently there is no way to distinguish them by archives names. Current method with scanning folder name for a pattern is not very effective, since pak archives can be moved anywhere.
Original post with modified script by ssh:
viewtopic.php?t=1005&start=1200#p51805 (0.4.23.1a).
Latest official version of the script by aluigi:
http://aluigi.org/bms/unreal_tournament_4.bms (0.4.25 at the moment).
Script with v9 paks support (for 4.25 games) - "latest_UE4_bms-script" in the attachment. Updated on 26.12.2020 to properly support base paths from mount points if present. Updated on 26.02.2021 to support auto-detection of compression types - therefore some scripts from specific scripts bundle were removed, because updated main script can handle those games now.
Script with v11 paks support (for 4.26 games) - "unreal_tournament_4_0.4.26_paks_only" in the attachment.
It's not backward compatible with 4.25- games, because it's a temporary solution. Also, it only supports paks at the moment, but utoc/ucas support may be added later. Updated on 16.01.2021 to properly support files over 4GB.
Supported games (with specific scripts): Sea of Thieves, State of Decay 2 (latest versions), PUBG Lite, PUBG Mobile/Mobile Lite (only for 1.1.x and below), PUBG Mobile (chinese ver.), Friday 13th Game, Bless Mobile, Dragon Quest XI - also works with S edition, Days Gone [removed, see above], Tony Hawk's Pro Skater 1+2 (demo only) [removed, see above], Pinball Wicked (thanks to pipopipo/pipoman), Conan Exiles, Tekken 7, Fable Legends, Pathless [removed, see above], Beyond a Steel Sky [removed, see above], Bravely Default 2 [removed, see above], Outriders (thanks to mobus_c352).
Some unrelated scripts for UE4 games: for save files from Life is Strange 2 (
link), for "paka" from Kingdoms Reborn (
link), modified u4pak for creating Dragon Quest XI compatible packages (
link), for decrypting/encrypting and converting save files from Dragon Quest XI S (
link)
-----------------------------------------------------------------------
Some experimental scripts are now available in custom_UE4_scripts bundle. For more info please read included readme.
1) custom_extract: Provides the same functionality as native filter of quickbms, but on the script level. Created more for research purposes, but may be helpful in some cases.
2) get_hashes: Allow you to extract hashes (actually guids) and filenames of all assets from a pak. Resulted file can be used with extract_diff script.
3) extract_diff: Allow you to compare paks from different game versions and extract or list only new/updated files.
4) raw_extract: Allow you to extract raw assets from paks, if index is not available or obfuscated. That means you can extract all files, but without proper filenames.
Basically, get hashes from pak of the old game version, put them near pak of updated game version and extract or list new/updated files. There are additional options in the extract_diff script, but no backward compatibility yet (for example, you can't guess, which files were completely removed in the updated game version). Please note that those scripts are very experimental and may have some bugs/limitations.
-----------------------------------------------------------------------
How to repack assets back in form of mods:
It was already explained multiple times here and there. Please read some related posts before asking about it:
first post,
second post (and
base instruction, part 3.10.1). Alternatively, you can use
instruction by masagrator (it works for PC games as well), which is mentioned in the posts above.