mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-11-12 23:32:42 -05:00
Add support for bundles with obfuscated unity version
This commit is contained in:
@ -83,7 +83,10 @@ namespace AssetStudio
|
||||
m_Header.signature = reader.ReadStringToNull();
|
||||
m_Header.version = reader.ReadUInt32();
|
||||
m_Header.unityVersion = reader.ReadStringToNull();
|
||||
m_Header.unityRevision = new UnityVersion(reader.ReadStringToNull());
|
||||
var revStr = reader.ReadStringToNull();
|
||||
if (!UnityVersion.TryParse(revStr, out m_Header.unityRevision))
|
||||
m_Header.unityRevision = new UnityVersion();
|
||||
|
||||
switch (m_Header.signature)
|
||||
{
|
||||
case "UnityArchive":
|
||||
|
||||
@ -70,15 +70,13 @@ namespace AssetStudio
|
||||
if (header.m_Version >= SerializedFileFormatVersion.Unknown_7)
|
||||
{
|
||||
var versionPos = reader.Position;
|
||||
try
|
||||
{
|
||||
version = new UnityVersion(reader.ReadStringToNull());
|
||||
}
|
||||
catch (NotSupportedException e)
|
||||
|
||||
var verStr = reader.ReadStringToNull();
|
||||
if (!UnityVersion.TryParse(verStr, out version))
|
||||
{
|
||||
if (assetsManager.SpecifyUnityVersion == null)
|
||||
{
|
||||
Logger.Warning(e.Message);
|
||||
Logger.Warning($"Failed to parse Unity version: \"{verStr}\"");
|
||||
version = new UnityVersion();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -66,6 +66,20 @@ namespace AssetStudio
|
||||
}
|
||||
}
|
||||
|
||||
public static bool TryParse(string versionStr, out UnityVersion version)
|
||||
{
|
||||
version = null;
|
||||
try
|
||||
{
|
||||
version = new UnityVersion(versionStr);
|
||||
return true;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
#region UnityVer, UnityVer
|
||||
public static bool operator ==(UnityVersion left, UnityVersion right)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user