Workspace Setup

02/07/2022 by Sojournercntl

Crash Reporting
Updating
Anti Tamper
User Interface
Single file APIs
Backgound services and scheduling
Licensing
Application Logic
Command Line Parser
Configuration and Localization
Registry Protocol
Networking Server/Client
Networking Discovery
Guarding with Eazfuscator

Workspace

The illustration above showcases the default application setup. The core of each application is the application logic. The other libraries define generic methods or procedures for providing the corresponding functionality.

Crash Reporting

Orion.Reporting is a library for defining crash reporting and log analysis services. It also gives developers the ability receive user stats and system metrics.

Updating

Orion.Updater is a library and framework for provind an applicaion with self-updating features. To provide the update features a static hosted json file or an API can be used.

Anti Tamper

Serenity provides the applications anti-tamper and anti-debug features. Many properties can be defined, to configure how aggresive the application responds to debug/tamper requests.

User Interface/Experience

The use interface for modern desktop/wpf applications with .NET6 upwards is provided by Experience.UI and Experience.UI.Prototype.

Licesing

Licensing functionality can either be implemented using Firefly (enterprise) or Espenlaub (offline).

Single file APIs

This describes a concept, where the API Client layer is represented via a single .cs file, that includes all functionality to consume an api. This concept is also present within the AntiTamper and AntiDebug functions.

Registry and Protocol

Orion.Protocol is a small executable, that can be shipped with an application, to register a custom protocol and custom extensions.

Configuration and Localization

Orion.Core - Formats (JSON, INI, TOML, YAML), Serializers/Deserializers, Attributes/Decorators

Orion.Language - Base language functionality (.NET Core, CLI, ASP.NET)

Orion.Localization - .NET WPF Language features (custom attributes)

Orion.Configuration - Config files (MPConfig alike), Observable configs (Watch file changes)

Rapid Prototyping

Parallel computing and prototyping via Gravity