Dralyxor
Dralyxor: Advanced C++ header-only library for robust string obfuscation, shielding binaries from static/dynamic analysis. Uses a consteval micro-program engine with variable NOPs. Runtime anti-debug/tamper checks (canaries, content checksums) plus RAII "just-in-time" decryption ensure secure, minimal memory exposure of plain-text data.
Install / Use
/learn @ocalasans/DralyxorREADME
Dralyxor
Dralyxor é uma biblioteca C++ moderna, header-only, de alta performance e multicamadas, projetada para a ofuscação de strings em tempo de compilação e proteção robusta em tempo de execução. Sua missão fundamental é blindar os segredos intrínsecos da sua aplicação — como chaves de API, senhas, URLs internas, mensagens de depuração e qualquer literal de string sensível — contra a exposição por meio de análise estática, engenharia reversa e inspeção de memória dinâmica. Ao criptografar e transformar as strings no momento da compilação e ao gerenciar seu acesso de forma segura em runtime, o Dralyxor assegura que nenhum literal de string crítico exista como texto plano no seu binário final ou permaneça desprotegido na memória por mais tempo que o estritamente necessário.
Construído sobre os alicerces do C++ moderno (requerendo C++14 e adaptando-se inteligentemente aos recursos de C++17 e C++20), sua arquitetura avançada apresenta um sofisticado motor de transformação baseado em "micro-programas", ofuscação do próprio programa de transformação, mecanismos de integridade de dados, defesas anti-debugging, e um Acessor de Escopo Seguro (RAII) para uma descriptografia "just-in-time" e re-ofuscação automática. Isso minimiza drasticamente a exposição de dados na memória RAM e fornece uma defesa em profundidade de nível profissional.
Idiomas
- Deutsch: README
- English: README
- Español: README
- Français: README
- Italiano: README
- Polski: README
- Русский: README
- Svenska: README
- Türkçe: README
Índice
- Dralyxor
- Idiomas
- Índice
- Guia de Integração e Uso Rápido
- Filosofia e Arquitetura de Design Detalhada
- Análise Profunda dos Componentes Arquitetônicos
- Referência Completa da API Pública
- Recursos Avançados e Boas Práticas
- Licença
Guia de Integração e Uso Rápido
Instalação
O Dralyxor é uma biblioteca header-only. Nenhuma compilação prévia ou vinculação de bibliotecas (.lib/.a) é necessária.
- Copie o Diretório
Dralyxor: Obtenha a última versão da biblioteca (clone o repositório ou baixe o zip) e copie todo o diretórioDralyxor(contendo todos os arquivos.hpp) para um local acessível pelo seu projeto (por exemplo, uma pastalibs/,libraries/, ouvendor/). - Inclua o Cabeçalho Principal: No seu código-fonte, inclua o cabeçalho principal
dralyxor.hpp:#include "caminho/para/Dralyxor/dralyxor.hpp"
Uma estrutura de projeto típica:
/MeuProjeto/
|-- src/
| |-- main.cpp
| `-- utils.cpp
`-- libraries/
`-- Dralyxor/ <-- Dralyxor aqui
|-- dralyxor.hpp (Ponto de entrada principal)
|-- obfuscated_string.hpp (Classe Obfuscated_String)
|-- secure_accessor.hpp (Classe Secure_Accessor)
|-- algorithms.hpp (Motor de transformação e micro-programas)
|-- anti_debug.hpp (Detecções em runtime)
|-- prng.hpp (Gerador de números pseudoaleatórios em compilação)
|-- integrity_constants.hpp (Constantes para verificações de integridade)
|-- secure_memory.hpp (Limpeza segura de memória)
|-- detection.hpp (Macros de detecção de compilador/C++ padrão)
`-- env_traits.hpp (Adaptações de type_traits para ambientes restritos)
Requisitos do Compilador
[!IMPORTANT] O Dralyxor foi projetado com foco em C++ moderno para máxima segurança e eficiência em tempo de compilação.
- Padrão C++ Mínimo: C++14. A biblioteca utiliza recursos como
constexprgeneralizado e se adapta paraif constexpr(quando disponível via_DRALYXOR_IF_CONSTEXPR).- Adaptação a Padrões Superiores: Detecta e utiliza otimizações ou sintaxes de C++17 e C++20 (como
consteval, sufixos_vparatype_traits) se o projeto for compilado com esses padrões. O_DRALYXOR_CONSTEVALmapeia paraconstevalem C++20 econstexprem C++14/17, garantindo a execução em tempo de compilação onde possível.- Compiladores Suportados: Testado primariamente com MSVC, GCC e Clang recentes.
- Ambiente de Execução: Totalmente compatível com aplicações User Mode e ambientes Kernel Mode (ex: drivers do Windows). No Kernel Mode, onde a STL pode não estar disponível, o Dralyxor utiliza implementações internas para
type traitsnecessários (vejaenv_traits.hpp).
Padrões de Uso Essenciais
Padrão 1: Ofuscação Local (Stack)
Ideal para strings temporárias, confinadas a um escopo de função. A memória é automaticamente gerenciada e limpa.
#include "Dralyxor/dralyxor.hpp" // Ajuste o caminho conforme necessário
#include <iostream>
void Configure_Logging() {
// Chave de formatação de log, usada apenas localmente.
auto log_format_key = DRALYXOR_LOCAL("Timestamp={ts}, Level={lvl}, Msg={msg}");
// Acesso seguro dentro de um escopo limitado
{
// O Secure_Accessor deofusca temporariamente 'log_format_key' durante sua construção
// (e re-ofusca 'log_format_key' imediatamente após a cópia para seus buffers internos),
// permite o acesso, e limpa seus próprios buffers na destruição.
auto accessor = DRALYXOR_SECURE(log_format_key);
if (accessor.Get()) { // Sempre verifique se Get() não retorna nullptr
std::cout << "Usando formato de
