,

Expeditions: Rome – Come fare l’unpack delle risorse di Unreal Engine 4 compresse e crittografate.

Bentrovati cari ITGamer, oggi vediamo come fare l’unpack di risorse compresse e cifrate con Unreal Engine. L’esempio che useremo è Expeditions: Rome.

Strumenti necessari

I passi da seguire sono i seguenti

  1. Rimuovere il DRM di Steam (solo per versioni Steam) ATTENZIONE: non stiamo crackando il gioco! serve solo per recuperare la chiave di Unreal!
  2. Trovare la chiave di cifratura usata da Unreal Engine 4 con AES Key Finder e convertirla in formato in base64
  3. Configurare Unreal PAk Tool e procedere all’unpacking
  4. Convertire i file di tipo locres in formato Chiave-Valore

1 – Rimuovete Steam dall’eseguibile (Solo per versione Steam)

Scaricate Steamless e utilizzatelo per rimuove il DRM di Steam dall’eseguibile

2 – Trovare la chiave base64

Per prima cosa dobbiamo trovare la chiave di crittografia utilizzata da Unreal per cifrare tutte le risorse.

Per farlo dobbiamo scaricare AES Key Finder, scompattarlo e copiare l’eseguibile di Expedition: Rome (non quello che si trova nella root del gioco, ma quello con il suffisso -Shipping.exe) nella cartella di AES Key finder.

Dovreste trovarvi in una situazione simile a questa

Lanciate il file batch: RUN Find 256-bit UE4 AES key.bat. Date un paio di INVIO e dopo poco dovrebbe apparirvi questa schermata

Il software ha recuperato le chiavi di crittogarafia. Ci interessa la prima, copiamola e convertiamola in base64.

Per farlo ci basta andare su un sito qualunque che faccia la conversione da Hex a Base64 ad esempio Base64.guru e inserendo la stringa

0x384BA95673EAE80AAD900CEA7E81F3CB88009F4228418A3FAE24FF04901CF060

otterremo

OEupVnPq6AqtkAzqfoHzy4gAn0IoQYo/riT/BJAc8GA=

3 – Scompattare le risorse

A questo punto serve scaricare l’Unreal Pak Tool, scompattarlo e modificare il file Crypto.json, inserendo il valore OEupVnPq6AqtkAzqfoHzy4gAn0IoQYo/riT/BJAc8GA= nel campo EncryptionKey -> Key come in figura

Ora serve copiare nella cartella di Unreal Pak Tool il file di risorse contente la localizzazione. Per Expedition Rome il file è pakchunk0-WindowsNoEditor.pak (si!, quello da 8 Gigabyte!). Copiatelo nella cartella di Ureal Pak tool e lanciate il file batch UnrealPakExtractCrypto.bat

Inizierà l’unpacking di tutti i file presenti del PAK. Alla fine dell’estrazione vi troverete una cartella con lo stesso nome del file pak, contenente tutti i file. Nel nostro caso ci interessano i due file seguenti:

pakchunk0-WindowsNoEditor\ExpeditionsRome\Content\Localization\Dialogue\en\Dialogue.locres
pakchunk0-WindowsNoEditor\ExpeditionsRome\Content\Localization\Game\en\Game.locres

4 – Convertire le risorse locres in Chiave-Valore

Scarichiamo l’eseguibile Unreal locres, copiamo il file locres che ci interessa convertitre e apriamo una finestra Command (Windows + R e poi scrivete cmd)

lanciate il comando UnrealLocres.exe export [NOMEFILE].locres, ad esempio per il file dei dialoghi:

UnrealLocres.exe export Dialogue.locres

Unreal locres ci informerà di aver convertito 23844 stringhe in formato csv. Aprendo il nuovo file Dialogue.csv vedremo un risultato del genere

key,source,target
/491B57094DB9D42C3668DAB0F76EC7B8,A Fallen Tree,
/0A5F896F4C22FEEB0ABB01992C565415,An Abduction,
/4492B7774680BC3627C37C8B08BFF478,Baby Boars and Their Parents,
/C57FF06145383505F2F9BC9DAC29F01A,Bandits Of Greece,
/66808AB34F049694F95CC88AF16D642C,Children of the Dead,
/5F5F7A2E4E74DA83ED0F5E8D32DEEB2E,Deserters,
/1CACF6B7426A1BE748A90E8B42062CC5,Forest Fire,
/45998C79486B9B115722A299835F7DA3,Fox Raid,
/9B53BCCF41B198A6FB6330BAE54C256F,Gaius,
/A03236124F8C27C0E048F6AB8EC8FDDF,Gaius Julius Caesar,
/42D98FFA4BE1BD797BE17887AA534987,Hunters of Romans,
/A2429D324BC4731975D41A9FEDC28630,Lair of the Chimera,
/8CF2A40040217FB1778CB688A24EE375,Menhir Merchant,
/742122C146AB85564FBEC4BCE3DE7780,Merchant Chef,
/487553B64675C258108B598D0E4D8986,Mushroom Patch,
/2D7C012D40AB30DED5D78B84DAEE2948,Mutiny,
/ADCD1AB845A8C2994FF2FA820E319F48,Olive Garden,
/133261EF46160369E11775B1EA53FC5F,Revenge of the Boars,
/D801431743FA2E0873B58CB61723B3AB,Sacred Boars,
/AA8C1561412B7FB7E8A19DA9B7A5E287,Slavers,
/5534289140BCE091371EC6BB40832E36,Stone Circle,
/8CF3410E41095F633C30B5A1840C8FC6,Strange Wine,
/0D8BF94F432E9C6C7215DAB06077530B,The Beach,
/B19340024EBA68978EC25B830A8C0E80,The Man With Scrolls,
/1F30496C497487432A31E69A7FE5BCB4,The New King,
/0433D66E4CA183FD66A742A79916FC62,The Old Bridge,
/723FCEB94A217909F26CC08AFA2E5DF0,The River Flows Red,
/41B8178C4259D517A55A1F92C034324A,The Sacred Grove,
/A5F9E8304A56B5759F4D4293329677D9,The Swamp Deal,
/33CEDAEE41833A40BF284C817C4A5EB1,The Tribes Are Marching,
/F614351D45B511D6BFB9D1A9C741EA7F,The Underwater Cave,
/82B3D5D2426ACA8C785F3EA5D80D8A24,The Waterfall,
/9783BB4A4205C9F715D2B2BB437F6405,Valley of Floods,
/DB403F0F4E718E50B3C01DB70BFCFE5D,Your Money or Your Life,
...

ovvero un file strutturato, con le chiavi usate da Unreal e le stringhe da tradurre.

Ora potete divertirivi a tradurre tutto! A seguire il metodo per reimpacchettare tutto.

Lascia un commento