diff --git a/AssetStudio/AssetsManager.cs b/AssetStudio/AssetsManager.cs index 2db2439..ec24ae2 100644 --- a/AssetStudio/AssetsManager.cs +++ b/AssetStudio/AssetsManager.cs @@ -318,6 +318,11 @@ namespace AssetStudio { bundleStream.Offset = reader.Position; bundleReader = new FileReader($"{reader.FullPath}_0x{bundleStream.Offset:X}", bundleStream); + if (bundleReader.FileType != FileType.BundleFile) + { + Logger.Debug("Unknown data was detected after the end of the bundle."); + break; + } if (bundleReader.Position > 0) { bundleStream.Offset += bundleReader.Position; diff --git a/AssetStudioCLI/Studio.cs b/AssetStudioCLI/Studio.cs index 30f6b31..30a6ad6 100644 --- a/AssetStudioCLI/Studio.cs +++ b/AssetStudioCLI/Studio.cs @@ -103,6 +103,8 @@ namespace AssetStudioCLI { bundleStream.Offset = reader.Position; bundleReader = new FileReader($"{reader.FullPath}_0x{bundleStream.Offset:X}", bundleStream); + if (bundleReader.FileType != FileType.BundleFile) + break; if (bundleReader.Position > 0) { bundleStream.Offset += bundleReader.Position; diff --git a/AssetStudioGUI/Studio.cs b/AssetStudioGUI/Studio.cs index 5b25b37..5e83845 100644 --- a/AssetStudioGUI/Studio.cs +++ b/AssetStudioGUI/Studio.cs @@ -150,6 +150,8 @@ namespace AssetStudioGUI { bundleStream.Offset = reader.Position; bundleReader = new FileReader($"{reader.FullPath}_0x{bundleStream.Offset:X}", bundleStream); + if (bundleReader.FileType != FileType.BundleFile) + break; if (bundleReader.Position > 0) { bundleStream.Offset += bundleReader.Position;