Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
Malware / Trojaner / VirenRatHat Android Malware Uses AI to Target Banking Credentials in Real Time(22.09.2026 um 19:02 Uhr)
Malware / Trojaner / VirenIT Security News Hourly Summary 2026-09-22 19h : 10 posts(22.09.2026 um 19:00 Uhr)
IT Security NachrichtenCyberattack Hits University of Munich, Exposing Student Data(22.09.2026 um 19:02 Uhr)
IT Security NachrichtenGemini AI Autonomously Hacked 3 Companies, Google Confirms(22.09.2026 um 19:00 Uhr)
Malware / Trojaner / VirenRatHat Android Malware Uses AI to Target Banking Credentials in Real Time(22.09.2026 um 19:02 Uhr)
Malware / Trojaner / VirenIT Security News Hourly Summary 2026-09-22 19h : 10 posts(22.09.2026 um 19:00 Uhr)
IT Security NachrichtenCyberattack Hits University of Munich, Exposing Student Data(22.09.2026 um 19:02 Uhr)
IT Security NachrichtenGemini AI Autonomously Hacked 3 Companies, Google Confirms(22.09.2026 um 19:00 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

My first open source program, Vampirio Code, why I developed it and how I did it

Hi everyone! I’m new here, I’m from Argentina, and I’m excited to be part of this community. I’ve been working for a long time on Vampirio Code, a project I’d love to share with you. Vampirio Code is a code editor with syntax highlighting …

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

Hi everyone! I’m new here, I’m from Argentina, and I’m excited to be part of this community. I’ve been working for a long time on Vampirio Code, a project I’d love to share with you.



Vampirio Code is a code editor with syntax highlighting and multi-language support. Its main goal is to allow you to compile and run code quickly, so you can test algorithms without having to build large projects that take forever just to see if something works.



With Ctrl + N, you can open a new document, select your language, and compile or interpret it without even saving the file. The output appears directly in the console. I developed this editor because I needed something fast like Notepad++ or Sublime Text, but that could also compile code immediately.



As the project grew, I added features that turned it into a full IDE, including linking multiple files, libraries, DLLs, and controlling output types like creating .exe or .dll for C++ projects.



The project is open-source and available on GitHub: https://github.com/leirbag4/VampirioCode





This is a project that arose from a personal need to have something fast, efficient, and that would allow me to accelerate the development process of my projects and work. I wrote it entirely in C# and since I was going to rewrite the entire graphical interface, I opted to use WinForms. It's a technology that has been around for thousands of years, and if I don't keep up with it, I can easily port the code. The main library I use for code formatting is Scintilla, which I've used several times in the past.






Technical Overview



Vampirio Code’s core structure is in the Command namespace, where each compiler or interpreter is represented abstractly and can be called from code.





Each command inherits from BaseCmd.cs and returns a BaseResult, which indicates whether the execution was successful and handles errors.






Builders



We also have a Builder namespace. There are Simple Builders and Custom Builders:



Simple Builders: The first ones I programmed. They handle basic compilation tasks, like passing file paths to the compiler.



Custom Builders: Added later with IDE capabilities. They let you configure menus, select libraries, files to compile, output type, etc.





Here’s an example of a Simple C++ Builder for Clang:





// Just comment this define in case you don't need libclang.dll
#define USE_LIBCLANG

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VampirioCode.Command.Clang;
using VampirioCode.Command.Clang.Result;
using VampirioCode.SaveData;
using VampirioCode.UI;

namespace VampirioCode.Builder.Simple
{
public class SimpleClangCppBuilder : Builder
{
//private string objsDir;
private string outputDir;

public SimpleClangCppBuilder()
{
Name = "Clang++";
Type = BuilderType.SimpleClangCpp;
}

public override void Prepare()
{
TempDir = AppInfo.TemporaryBuildPath; // temporary directory -> \temp_build\
BaseProjDir = TempDir + projectName + "\\"; // temporary project dir -> \temp_build\proj_name\
ProjectDir = BaseProjDir; // temporary project dir -> \temp_build\proj_name\
ProgramFile = ProjectDir + projectName + ".cpp"; // .cpp program file -> \temp_build\proj_name\proj.cpp
//objsDir = ProjectDir + "obj\\"; // output binaries dir -> \temp_build\proj_name\obj\
outputDir = ProjectDir + "bin\\"; // output binaries dir -> \temp_build\proj_name\bin\
OutputFilename = outputDir + projectName + ".exe"; // output binaries dir -> \temp_build\proj_name\bin\proj.exe
}

protected override async Task OnBuildAndRun()
{
var result = await _Build();
RunResult runResult;

if (result.IsOk)
{
XConsole.Clear();
Clang clang = new Clang();

List<string> libPaths = new List<string>();
#if USE_LIBCLANG
//libPaths.Add(@"C:\programs_dev\clang_llvm_18_1_0\lib");
libPaths.Add(Config.BuildersSettings.CLang.clang_lib_dir);
#endif
runResult = await clang.RunAsync(result.OutputFilename, libPaths);
//return runResult;
}

runResult = new RunResult();
runResult.SetError(result.ErrorInfo);
//return runResult;
CheckResult(result);
}


public async Task<BuildResult> _Build()
{
Prepare();

CreateProjectStructure();

if (!Directory.Exists(outputDir))
Directory.CreateDirectory(outputDir);

// write all code to '\temp_build\proj_name\proj.cpp' main program file
File.WriteAllText(ProgramFile, code);


// [ COMPILATION PROCESS ]
List<string> sourceFiles = new string[] { ProgramFile }.ToList();

List<string> includes = new List<string>();
List<string> libPaths = new List<string>();
List<string> libFiles = new List<string>();

#if USE_LIBCLANG
includes.Add(Config.BuildersSettings.CLang.clang_include_dir);
libPaths.Add(Config.BuildersSettings.CLang.clang_lib_dir);
libFiles.Add("libclang.lib");
#endif

Clang clang = new Clang();
var result = await clang.BuildAsync(sourceFiles, OutputFilename, includes, libPaths, libFiles);
result.OutputFilename = OutputFilename;

return result;
}

}
}









With this introduction, I'd like to tell you that I'm so excited about this project that I decided to create a website to showcase all the projects I upload. I named it Vampirio Studio and created a page to host it here: Vampirio Code. I thank you all for letting me use your space, and if you can or want to use it and give your feedback, that would be great. A big hello to everyone.

Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten My first open source program, Vampirio Code, why I developed it and how I did it

Thematisch verwandte Begriffe: first, open, source, program · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-94127 | When a BIG-IP APM access policy and an OAuth profile is configured on a …
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick