diff --git a/CikExtractor/Program.cs b/CikExtractor/Program.cs index 0da1623..e06a691 100644 --- a/CikExtractor/Program.cs +++ b/CikExtractor/Program.cs @@ -137,17 +137,24 @@ public override int Execute(CommandContext context, Settings settings) foreach (var pair in license.PackedContentKeys) { - var contentKey = Crypto.DecryptContentKey(deviceKey, pair.Value); - var filePath = Path.Join(cikFolderPath, $"{pair.Key}.cik"); - - File.WriteAllBytes(filePath, - pair.Key - .ToByteArray() - .Concat(contentKey) - .ToArray()); - - var keyNode = packageNode.AddNode($":key: [blue]{pair.Key}[/]"); - keyNode.AddNode($"[white bold]Key[/]: [green bold]{Convert.ToHexString(contentKey)}[/]"); + try + { + var contentKey = Crypto.DecryptContentKey(deviceKey, pair.Value); + var filePath = Path.Join(cikFolderPath, $"{pair.Key}.cik"); + + File.WriteAllBytes(filePath, + pair.Key + .ToByteArray() + .Concat(contentKey) + .ToArray()); + + var keyNode = packageNode.AddNode($":key: [blue]{pair.Key}[/]"); + keyNode.AddNode($"[white bold]Key[/]: [green bold]{Convert.ToHexString(contentKey)}[/]"); + } catch (Exception ex) + { + var keyNode = packageNode.AddNode($":key: [blue]{pair.Key}[/]"); + keyNode.AddNode($"[red bold]Error[/]: [green bold]{ex.Message}[/]"); + } } }