Contesto
Sto tentando di decifrare un gioco per le sue risorse per scopi di apprendimento. Ho estratto tali risorse dal pacchetto del gioco, sono in formati di .json
, .png
e .lua
. Tuttavia, sono crittografati. Ispezionando i file in visualizzazione esadecimale, ho notato qualcosa di particolarmente interessante: tutti i loro byte iniziano con 4448 4741 4d45 53
, che in ascii corrisponde all'editore del gioco.
Cosa ho fatto
-
Esegui un comando
strings
sul binario del gioco per estrarre tutte le stringhe, una delle quali dovrebbe essere la chiave di decrittazione -
Ha scritto uno script python per provare ciascuna delle possibili chiavi su queste risorse crittografate usando AES, XXTEA e XOR. La chiave viene convalidata se il risultato della decrittografia è un file di testo json / lua valido.
Solitamente questi due passaggi da soli mi troveranno la chiave per molti altri giochi, ma questa volta senza successo.
Quali altri passaggi posso fare per provare a decodificare queste risorse staticamente senza dover gdb in runtime?
** Il link alle risorse può essere trovato qui link