Files
Liberium-1.8-Source-Code/Server.Helper/ConsoleLogger.cs
T
2026-08-27 11:21:58 -06:00

159 lines
4.9 KiB
C#

using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
namespace Server.Helper
{
public static class ConsoleLogger
{
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool AllocConsole();
[DllImport("kernel32.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool FreeConsole();
[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
private const int SW_HIDE = 0;
private const int SW_SHOW = 5;
private static bool consoleAllocated = false;
private static StreamWriter consoleWriter;
public static void Initialize()
{
if (!consoleAllocated)
{
AllocConsole();
consoleAllocated = true;
// Redirect console output
Console.SetOut(new StreamWriter(Console.OpenStandardOutput()) { AutoFlush = true });
Console.SetError(new StreamWriter(Console.OpenStandardError()) { AutoFlush = true });
// Set console title
Console.Title = "Liberium RAT - Debug Console";
// Set console colors for better visibility
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = ConsoleColor.Green;
Console.Clear();
LogInfo("=== Liberium RAT Console Logger Initialized ===");
LogInfo($"Started at: {DateTime.Now:yyyy-MM-dd HH:mm:ss}");
LogInfo("This console will display all RAT operations and network activity.");
LogInfo("===============================================");
}
}
public static void LogInfo(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [INFO] {message}");
}
}
public static void LogSuccess(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [SUCCESS] {message}");
}
}
public static void LogWarning(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [WARNING] {message}");
}
}
public static void LogError(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [ERROR] {message}");
}
}
public static void LogNetwork(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [NETWORK] {message}");
}
}
public static void LogBuild(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [BUILD] {message}");
}
}
public static void LogClient(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [CLIENT] {message}");
}
}
public static void LogRemoteDesktop(string message)
{
if (consoleAllocated)
{
Console.ForegroundColor = ConsoleColor.DarkCyan;
Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] [REMOTE_DESKTOP] {message}");
}
}
public static void Cleanup()
{
if (consoleAllocated)
{
LogInfo("=== Console Logger Shutting Down ===");
FreeConsole();
consoleAllocated = false;
}
}
public static void ShowConsole()
{
if (consoleAllocated)
{
IntPtr handle = GetConsoleWindow();
ShowWindow(handle, SW_SHOW);
}
}
public static void HideConsole()
{
if (consoleAllocated)
{
IntPtr handle = GetConsoleWindow();
ShowWindow(handle, SW_HIDE);
}
}
}
}