Files
PulsarK-main/Pulsar.Server/Models/BuilderProfile.cs
T
i2p 773d05f8f1
Pulsar .NET 9.0 Windows Release / build (push) Waiting to run
Mirror to Codeberg and Gitea / mirror (push) Waiting to run
initial commit
2026-08-27 10:57:58 -06:00

407 lines
8.7 KiB
C#

using Newtonsoft.Json;
using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
namespace Pulsar.Server.Models
{
public class BuilderProfile
{
private readonly string _profilePath;
private BuilderProfileModel _model;
public string Hosts
{
get => _model.Hosts;
set
{
_model.Hosts = value;
Save();
}
}
public string Pastebin
{
get => _model.Pastebin;
set
{
_model.Pastebin = value;
Save();
}
}
public string Tag
{
get => _model.Tag;
set
{
_model.Tag = value;
Save();
}
}
public int Delay
{
get => _model.Delay;
set
{
_model.Delay = value;
Save();
}
}
public string Mutex
{
get => _model.Mutex;
set
{
_model.Mutex = value;
Save();
}
}
public bool InstallClient
{
get => _model.InstallClient;
set
{
_model.InstallClient = value;
Save();
}
}
public string InstallName
{
get => _model.InstallName;
set
{
_model.InstallName = value;
Save();
}
}
public short InstallPath
{
get => _model.InstallPath;
set
{
_model.InstallPath = value;
Save();
}
}
public string InstallSub
{
get => _model.InstallSub;
set
{
_model.InstallSub = value;
Save();
}
}
public bool HideFile
{
get => _model.HideFile;
set
{
_model.HideFile = value;
Save();
}
}
public bool HideSubDirectory
{
get => _model.HideSubDirectory;
set
{
_model.HideSubDirectory = value;
Save();
}
}
public bool AddStartup
{
get => _model.AddStartup;
set
{
_model.AddStartup = value;
Save();
}
}
public string RegistryName
{
get => _model.RegistryName;
set
{
_model.RegistryName = value;
Save();
}
}
public bool ChangeIcon
{
get => _model.ChangeIcon;
set
{
_model.ChangeIcon = value;
Save();
}
}
public string IconPath
{
get => _model.IconPath;
set
{
_model.IconPath = value;
Save();
}
}
public bool ChangeAsmInfo
{
get => _model.ChangeAsmInfo;
set
{
_model.ChangeAsmInfo = value;
Save();
}
}
public bool Keylogger
{
get => _model.Keylogger;
set
{
_model.Keylogger = value;
Save();
}
}
public string LogDirectoryName
{
get => _model.LogDirectoryName;
set
{
_model.LogDirectoryName = value;
Save();
}
}
public bool HideLogDirectory
{
get => _model.HideLogDirectory;
set
{
_model.HideLogDirectory = value;
Save();
}
}
public bool EnablePastebin
{
get => _model.EnablePastebin;
set
{
_model.EnablePastebin = value;
Save();
}
}
public bool EnableAntiVM
{
get => _model.EnableAntiVM;
set
{
_model.EnableAntiVM = value;
Save();
}
}
public bool EnableAntiDebug
{
get => _model.EnableAntiDebug;
set
{
_model.EnableAntiDebug = value;
Save();
}
}
// New properties for the missing checkboxes
public bool EnableObfuscate
{
get => _model.EnableObfuscate;
set
{
_model.EnableObfuscate = value;
Save();
}
}
public bool EnablePack
{
get => _model.EnablePack;
set
{
_model.EnablePack = value;
Save();
}
}
public bool EnableCriticalProcess
{
get => _model.EnableCriticalProcess;
set
{
_model.EnableCriticalProcess = value;
Save();
}
}
public bool EnableUACBypass
{
get => _model.EnableUACBypass;
set
{
_model.EnableUACBypass = value;
Save();
}
}
public string ProductName
{
get => _model.ProductName;
set
{
_model.ProductName = value;
Save();
}
}
public string Description
{
get => _model.Description;
set
{
_model.Description = value;
Save();
}
}
public string CompanyName
{
get => _model.CompanyName;
set
{
_model.CompanyName = value;
Save();
}
}
public string Copyright
{
get => _model.Copyright;
set
{
_model.Copyright = value;
Save();
}
}
public string Trademarks
{
get => _model.Trademarks;
set
{
_model.Trademarks = value;
Save();
}
}
public string OriginalFilename
{
get => _model.OriginalFilename;
set
{
_model.OriginalFilename = value;
Save();
}
}
public string ProductVersion
{
get => _model.ProductVersion;
set
{
_model.ProductVersion = value;
Save();
}
}
public string FileVersion
{
get => _model.FileVersion;
set
{
_model.FileVersion = value;
Save();
}
}
public BuilderProfile(string profileName)
{
if (string.IsNullOrEmpty(profileName))
throw new ArgumentException("Invalid Profile Path");
_profilePath = Path.Combine(Application.StartupPath, "PulsarStuff", profileName + ".json");
Load();
}
private void Load()
{
try
{
if (File.Exists(_profilePath))
{
string json = File.ReadAllText(_profilePath);
_model = JsonConvert.DeserializeObject<BuilderProfileModel>(json) ?? new BuilderProfileModel();
}
else
{
_model = new BuilderProfileModel();
_model.Mutex = Guid.NewGuid().ToString();
Save();
}
}
catch
{
_model = new BuilderProfileModel();
_model.Mutex = Guid.NewGuid().ToString();
}
}
private void Save()
{
try
{
var dir = Path.GetDirectoryName(_profilePath);
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
string json = JsonConvert.SerializeObject(_model, Formatting.Indented);
File.WriteAllText(_profilePath, json);
}
catch
{
Debug.WriteLine("Failed to save");
}
}
}
}