Super Mario Run: *.COMPRESSED (Encrypted)
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Super Mario Run: *.COMPRESSED (Encrypted)
I want to view the .compressed files from Super Mario Run's text assets, but they are encrypted or compressed in some way I cannot figure out, any advice on decrypting and viewing these files? If so thanks.
Last edited by LolHacksRule on Sun May 03, 2020 11:47 pm, edited 1 time in total.
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Super Mario Run (.COMPRESSED)
I'm not sure if the ".compressed" extension is honest. These files look more encrypted than compressed, moreover because they already come from a ZIP archive that uses compression.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Super Mario Run (.COMPRESSED)
Yeah, I think its encrypted too... I found ZLIB asset compression loading mentioned in the game assembly, not sure if that's 100% useful but it's something... I'll dive into it more when I get home...
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Super Mario Run (.COMPRESSED)
Eh no, no zlib or deflate used in the .compressed files.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Super Mario Run (.COMPRESSED)
Oh ok. The monobehaviours for relating to these files list the files in them, and their dependencies...
Almost the assets from the CDN also use this extension after the STIR (SimpleEncryption) mechanism, however, .compressed in those files are just notes as decryption of these files output plain Unity3D files.
Code: Select all
(Sample MonoBehaviour for .compressed)
PPtr<GameObject> m_GameObject
int m_FileID = 0
int64 m_PathID = 0
UInt8 m_Enabled = 1
PPtr<MonoScript> m_Script
int m_FileID = 1
int64 m_PathID = 1344
string m_Name = "XXX.compressed"
String AssetBundleName = "XXX.compressed"
String[] AssetBundleKey
int size = 13
[0]
String data = "XXX.XXX"
String[] AssetBundleDependencies
int size = 13
[0]
String data = "XXX.compressed"
Almost the assets from the CDN also use this extension after the STIR (SimpleEncryption) mechanism, however, .compressed in those files are just notes as decryption of these files output plain Unity3D files.
Last edited by LolHacksRule on Sun May 03, 2020 11:53 pm, edited 1 time in total.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Super Mario Run: *.COMPRESSED (Encrypted)
A setting for fullEncryption (.ENCRYPT) is present, luckily the developers didn't go that far...
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Super Mario Run: *.COMPRESSED (Encrypted/Chunkbased [?] Unity AssetBundles)
Coming back to this. According to code and internal directory naming, these are Unity AssetBundles in some form. There's three forms of encryptions to them, being None, Simple or Full, the only one enabled is Simple being STIR from the CDN. According to internals, these files may be chunkbased. Can someone crack them? There's interesting files in them. This does NOT have any keys. I attempted to look at the game's lib and got nowhere.
Code: Select all
AssetBundleSettings (MonoBehaviour):
{
"m_GameObject": {
"m_FileID": 0,
"m_PathID": 0
},
"m_Enabled": 1,
"m_Script": {
"m_FileID": 1,
"m_PathID": 1500
},
"m_Name": "AssetBundleSetting",
"outputFolder": "bundles/",
"baseUrl": "http://localhost/",
"indexFolder": "Assets/AssetBundle/Indexes/",
"descriptionFolder": "Assets/AssetBundle/Descriptions/",
"originalFolder": "Assets/AssetBundle/Original/",
"mode": 1,
"debugBuild": true,
"wwwTimeout": 120.0,
"assetBundleLoadWorkerNum": 4,
"useHttpBasicAuthentication": false,
"username": "",
"password": "",
"preloadPriorityThreshold": 5,
"isZlibCompressed": false,
"usePrefabInAssetBundle": true,
"zlibCompressedThreshold": 0.8,
"zlibExclusiveAssetBundle": [],
"assetListPrefix": "",
"useFullEncryption": false,
"fullEncryptionSuffix": ".encrypt",
"fullEncryptionKey": {
"p": [],
"c": [],
"i": false
},
"useSimpleEncryption": true,
"simpleEncryptionSuffix": ".stir",
"simpleEncryptionSpan": 256,
"simpleEncryptionInitialSpan": 512,
"simpleEncryptionKey": 93,
"useAssetCompress": true,
"isAssetCompressChunkbased": true,
"assetCompressAffix": ".compressed",
"assetGroups": [
".*"
],
"useGroupDirectory": true,
"runtimeAssetBasePath": "",
"bundlePlatformList": [
{
"platform": "ios"
},
{
"platform": "android"
}
]
}