From d7277a126a613c7affa55f056fb6e94c5c9f8119 Mon Sep 17 00:00:00 2001 From: InvoxiPlayGames Date: Fri, 21 Nov 2025 15:17:03 +0000 Subject: [PATCH] wrap DecryptContentKey in try/catch to prevent erroring out --- CikExtractor/Program.cs | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) 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}[/]"); + } } }