KAPITALSIN

JUEGOS/SOFTWARE/HARDWARE => SOFTWARE => Mensaje iniciado por: Fl0ppy en 09 de Junio de 2026, 12:07:52 pm

Título: OodleForge v33.3 - Precompresor de búsqueda exacta OodleLZ (código abierto)
Publicado por: Fl0ppy en 09 de Junio de 2026, 12:07:52 pm
(https://www.kapitalsin.com/forum/index.php?action=dlattach;topic=5036.0;attach=1488;image)

Citar
====================================================================================
LAS CRÓNICAS DE OODLEFORGE
Una historia de leyenda de compresión
=================================================================================

En el antiguo año 2026, en un reino donde los discos duros gemían bajo el peso
de enormes archivos de juegos y los dragones Oodle gobernaban las tierras comprimidas, un solitario
aventurero se embarcó en una épica aventura misión...

───────────────────────────────────── ────────────────────────────────────────────
LA LEYENDA COMIENZA
─────────────────────────────────────── ──────────────────────────────────────────

No eres simplemente un programador.

Eres **El Forjador de Oodle**, un héroe audaz que se enfrentó al abismo de los precompresores de código cerrado
y declaró: «Forjaré algo más grande».

Con tan solo **30 días de antigüedad** al ser descubierto, y ahora, apenas dos lunas después, este poderoso
artefacto nació de noches en vela, refactorización frenética y el fuego sagrado de la
optimización.

Lo que comenzó como una simple idea —«¿Y si pudiéramos reconstruir a la perfección los archivos de juego comprimidos con Oodle?»— se convirtió en una trilogía legendaria:

ESCANEAR → CODIFICAR → RECONSTRUIR

Tres rituales sagrados. Un ciclo inquebrantable.

──────────────────────────────────────────────────────────────────────────────
EL VIAJE DEL HÉROE
──────────────────────────────────────── ──────────────────────────────────────
Capítulo I — El Despertar
-------------------------
Descubriste los antiguos pergaminos OodleLZ (oo2core.dll/so) y aprendiste sus
magias prohibidas. Con astucia y valentía, domesticaste los punteros de función salvajes
y los trajiste a tu reino.

Capítulo II — La Gran Búsqueda del Escaneo
-------------------------------------
Construiste el **BlockScanner**, una bestia mítica con ojos de memchr y garras de
búsqueda binaria. Busca las runas sagradas 0x8C y 0xCC a través de terabytes de
oscuridad, descifrando velos AES cuando es necesario y revelando bloques Oodle ocultos
que herramientas inferiores jamás podrían ver.

Capítulo III — La Forja de Coincidencias Exactas
-------------------------------------------
Aquí reside la verdadera leyenda.

Mientras que los precompresores inferiores solo adivinan y aproximan, tú creaste algo
**divino**: una reconstrucción byte a byte.

El ritual de codificación no solo comprime, sino que **prueba** cada posible método y nivel de Oodle
hasta encontrar la coincidencia EXACTA que usó el juego original.

Si el aliento del dragón (datos comprimidos) coincide perfectamente después de la recompresión,
se marca como una "Coincidencia Exacta" y se almacena con honor.

Esto no es compresión.

Esto es **resurrección**.

Capítulo IV — El Ritual de Reconstrucción
--------------------------------------
Cuando llega el momento de la restauración, el héroe recurre a RunReconstruct.

Se rellenan los huecos. Los bloques exactos renacen mediante la recompresión de Oodle.
Los bloques cifrados
se ocultan y se descifran con cuidado. El archivo original resurge, byte a byte,
como si la compresión nunca hubiera ocurrido.

Capítulo V — La Guerra contra la Lentitud
------------------------------------
Invocaste a la **Bestia de la Memoria**: un búfer circular en memoria de 64 MB protegido por un
hilo de trabajo dedicado al disco físico.

Mientras los hilos principales del codificador procesan datos a la velocidad de la RAM (~50 GB/s), la bestia
envía silenciosamente enormes bloques de 64 MB al disco mecánico en segundo plano.
Redujiste más de 4000 operaciones de escritura por gigabyte a tan solo 16.
Dominaste el ThreadPool para manejar más de 32 hilos paralelos sin caos.
Incluso le enseñaste al código a usar hermosas barras de progreso con runas ETA.

─────────────────────────────────────────────────────────────────────────────
LAS TRES ÓRDENES SAGRADAS
─────────────────────────────────────────────────────────────────────────────

**ESCANEAR** — El Oráculo
«¡Muéstrame los secretos que contiene!»

Detecta métodos (Kraken, Leviatán, Sirena, Selkie) y niveles de compresión
en cualquier porcentaje del archivo. Revela la verdadera naturaleza del dragón.

**CODIFICAR** — La Forja
«¡Convierte este caos en orden perfecto!»

Crea un nuevo archivo que conserva las coincidencias exactas de Oodle siempre que sea posible.

Cuanto más cerca del 100% de coincidencias, más legendaria será tu victoria.

**RECONSTRUIR** — La Resurrección
«¡Vuelve a mí, ser original!»

Reconstruye el archivo original desde el archivo encantado.

Fidelidad perfecta. Sin pérdida de datos.


Reconstruir
───────────────────────────────────────────────────────────────────────
ARTEFACTOS DEL PODER
───────────────────────────────────────────────────────────────────────

• Compatibilidad con cifrado AES (tanto cifrado como descifrado de bloques)
• E/S asíncrona con doble búfer (anillo de 64 MB) para un máximo rendimiento del disco
• Canalizaciones multihilo con contrapresión
• Búferes reutilizables para evitar la sobrecarga de memoria
• Interfaz de usuario en tiempo real de gran belleza, digna de las canciones de los bardos

───────────────────────────────────────── ────────────────────────────────────────
LEGADO Y RIVALIDAD
────────────────────────────────────── ───────────────────────────────────────────

Durante 20 años, **Precomp Classic** (lanzado en 2006) reinó como el sabio rey de la precompresión.

En tan solo **dos meses**, el Oodleforger ha alcanzado un nivel similar (8.7/10).
Título: OodleForge v33.3 - Precompresor de búsqueda exacta OodleLZ (código abierto)
Publicado por: Fl0ppy en 09 de Junio de 2026, 12:09:01 pm
Citar
===================================================================================
OodleForge: El Cazador de Krakens
Herramienta avanzada de archivo OodleLZ | Multimétodo | Compatibilidad con AES
==================================================================================

Prólogo: La leyenda del cazador del Kraken
-----------------------------------------
En la antigua era de la Primera Compresión, cuando el mundo aún era joven
y los grandes Archivos yacían ocultos bajo montañas de datos brutos, una terrible
bestia vagaba por los reinos digitales: el poderoso Kraken de Oodle.

Sus tentáculos de bloques comprimidos se extendían por cada mazmorra, cada tesoro de dragón
y cada reino olvidado. Los héroes caían ante su implacable compresión.

Solo los archivistas más valientes se atrevían a desafiarlo.

Las leyendas cuentan la historia de un vagabundo solitario que forjó un poderoso artefacto: el Motor de Oodle.
Armado con las runas del Kraken, Leviatán, Sirena y Selkie, y protegido
por el antiguo escudo de AES-256, este héroe se hizo conocido como...

**EL CAZADOR DE KRAKENS**

Esta herramienta es tu herencia. Úsala con sabiduría, aventurero. Que tus espadas
atraviesen incluso las mazmorras más densas, y que tus dragones sean para siempre
liberados.

¿Qué es Oddleforger?

--------------
Oddleforger es una herramienta especializada de alto rendimiento diseñada para detectar, extraer,
recomprimir y reconstruir archivos que contienen bloques comprimidos con OodleLZ
(Kraken, Leviatán, Sirena, Selkie).

Fue creada para ingenieros inversos, modders de juegos y archivistas que necesitan
trabajar con datos de juegos modernos que utilizan compresión Oodle + cifrado AES-256 opcional.


Ya sea que estés descomprimiendo un archivo de juego enorme, analizando formatos desconocidos o reconstruyendo archivos modificados, Oddleforger te ayuda.

Características
--------
* Escaneo y detección ultrarrápidos de bloques Oodle
* Compatibilidad con 4 compresores Oodle: Kraken(8), Leviathan(9), Mermaid(11), Selkie(12)
* Detección automática de nivel (-auto)
* Modo de fuerza bruta (-force)
* Compatibilidad total con cifrado/descifrado AES-256-CBC
* E/S asíncrona de doble búfer (anillo de 64 MB) para un máximo rendimiento del disco
* Arquitectura de canalización multihilo
* Interfaz de usuario con progreso detallado y registro detallado
* Modo de escaneo para un análisis rápido del formato
* Reconstrucción perfecta de ida y vuelta

=== Arquitectura técnica ===
1. **FastStreamWriter (asíncrono de doble búfer)**
- Búfer de anillo en memoria de 64 MB
- Hilo de trabajo dedicado en segundo plano para el disco físico
- Paralelización real: los hilos principales escriben en la RAM mientras el disco vacía la memoria en segundo plano
- Intercambio de búfer de asignación cero para evitar la sobrecarga del montón
- Reduce las operaciones de escritura en el disco duro De más de 4K a solo ~16-17 por GB

2. **Ventana deslizante + Lectura controlada**
- Ventana de 64-128 MiB para acceso aleatorio rápido durante el escaneo
- El descifrado AES-CBC se realiza de forma transparente dentro de la ventana cuando es necesario
- Alineación a límites de 16 bytes para AES

3. **Pipeline de procesamiento de bloques**
- Grupo de subprocesos (predeterminado: núcleos-1, limitado a 8)
- Las tareas se ponen en cola para la verificación de la compresión
- El vaciado del pipeline evita el consumo excesivo de memoria

--------------------------------------------------------------------------------
CÓMO USARLO
--------------------------------------------------------------------------------

Sintaxis básica:
Oddleforger <operación> <archivo_entrada> [archivo_salida] [opciones]

Operaciones:
e Codificar (Escanear + Comprimir en un archivo .oodle)
r Reconstruir (Reconstruir el archivo original a partir del archivo .oodle)
scan Modo de análisis (Escaneo rápido para detectar) Métodos/niveles)

--------------------------------------------------------------------------------
REFERENCIA COMPLETA DE OPCIONES
--------------------------------------------------------------------------------

Rendimiento:
-j <num> Número de subprocesos (predeterminado: núcleos de CPU - 1, máximo 8)

Configuración de compresión:
-m <methods> Compresor(es) a utilizar. Admite varios: kraken+leviathan

Opciones: kraken/8, leviathan/9, mermaid/11, selkie/12
-level <n> Nivel(es) de compresión. Admite múltiples niveles: 4+6+8
-auto Detecta automáticamente el nivel óptimo a partir de los primeros bloques (recomendado)
-force Fuerza bruta en los niveles 3-8 (lento pero exhaustivo)

Cifrado:
-k <hex> Clave AES-256 (64 caracteres hexadecimales)

Ejemplo: -k 00112233445566778899aabbccddeeff...
--key <hex> Igual que -k

Otros:
-v Modo detallado: muestra todas las coincidencias en tiempo real
-scan <porcentaje> Solo se usa con la operación "scan" (0.1 - 100.0)

--------------------------------------------------------------------------------
EJEMPLOS
--------------------------------------------------------------------------------

1. Codificación básica (recomendado):
Oddleforger e game_data.bin game_data.oodle -m kraken -auto

2. Métodos múltiples + niveles específicos:
Oddleforger e assets.pack assets.oodle -m kraken+leviathan -level 5+7

3. Con cifrado AES:
Oddleforger e secure.bin secure.oodle -k 2b7e151628aed2a6abf7158809cf4f3c...

4. Análisis rápido:
Oddleforger scan bigfile.dat -scan 2.5

5. Reconstrucción:
Oddleforger r archive.oodle restored.bin

6. Máximo rendimiento:
Oddleforger e input.bin output.oodle -j 12 -auto

-----------
Título: OodleForge v33.3 - Precompresor de búsqueda exacta OodleLZ (código abierto)
Publicado por: Fl0ppy en 19 de Junio de 2026, 09:36:40 am
Citar
OodleForge v33.2 Changelog
Build Date: June 18, 2026
Focus: Threading Stability, Cryptographic Integrity, and Resource Efficiency.

Critical Fixes (Backend)
FastStreamWriter Thread-Safety:

Implemented file_io_mtx to strictly serialize physical disk I/O, preventing file handle contention during multi-threaded heavy writes.

Added pending_disk_bytes tracker to synchronize the UI/offset state with the background flushing thread, resolving data desyncs on mega-files (50GB+).

AES Cryptographic Correction:

IV Initialization: Swapped malloc for calloc in AES_Context_Create. This ensures the Initialization Vector (IV) is always zero-initialized, preventing random-memory garbage from corrupting the first block of encrypted streams.

Key Length: Updated aes.h to force AES256 mode, ensuring full 32-byte key handling for modern secure archives.

Scanner Cache (Performance Optimization):

Added a "double-check" lock pattern in scan.cpp's TryMatchBlock. This prevents the "Thundering Herd" problem where multiple worker threads simultaneously brute-force the same unknown Oodle block type.

Portability & Build
POSIX Compatibility: Sanitized LoadOodle() to remove Windows-specific .dll fallback logic on Linux/Unix systems, allowing clean liboo2core.so loading.

Memory Management: Replaced GCC-specific packing attributes with standard #pragma pack for cross-compiler compatibility.

UI & Monitoring
State Tracking: Fixed seekp implementation to ensure the background thread fully flushes before the file pointer moves, preventing data corruption during reconstruction.

UI Accuracy: Real-time throughput and ETA calculations are now keyed to the pending_disk_bytes count, providing a more precise progress readout for large-scale operations.

Implementation Overview
The following visual map illustrates the new thread-safe flow for data processing:


v33.1 (June 2026) - The Memory Beast

In-Memory Output Buffer (64 MB) + Dedicated Physical Disk Worker Thread
Background flush with true parallelization (lock.unlock() before disk write)
Reduces HDD write operations from 4K+ to only ~16-17
Main encode threads stay at full speed
Byte-perfect tellp() for responsive UI
Removed obsolete HDD/SSD pacing logic


v33.0 (June 2026) - Multi-Method Edition

Added full support for Kraken, Leviathan, Mermaid, Selkie
Added -auto, -force, and multi-level options
Major memory optimizations and improved pacing
Enhanced UI with ETA and real-time stats
Excellent compatibility under Wine (Linux)

v32.x (May 2026)

Initial AES support
Basic encode/reconstruct functionality
HDD pacing system introduced

v1.x (Early 2026)

Basic Kraken-only scanner and reconstructor
Título: OodleForge v33.3 - Precompresor de búsqueda exacta OodleLZ (código abierto)
Publicado por: Fl0ppy en 19 de Junio de 2026, 03:09:01 pm
(https://www.kapitalsin.com/forum/index.php?action=dlattach;topic=5036.0;attach=1490;image)

(https://www.kapitalsin.com/forum/index.php?action=dlattach;topic=5036.0;attach=1492;image)
Título: OodleForge v33.3 - Precompresor de búsqueda exacta OodleLZ (código abierto)
Publicado por: Fl0ppy en 20 de Junio de 2026, 01:19:22 pm
 :ouo:

Citar
OodleForge v33.3 Changelog
Build Date: June 20, 2026
Focus: Engine-Specific Compatibility, Expanded Method Support & Scanner Robustness.

Major Features & Improvements

• Added full Hydra (13) support
  - Included in ALL_METHODS, magic byte detection, method parser, and compression pipeline
  - All five Oodle magic bytes now supported (0x8C, 0xCC, 0x4C, 0x2C, 0x6C)

• Engine-Specific Options (Critical for exact reconstruction) -EXPERIMENTAL DUE HARDWARE LIMITATIONS-
  - `-tradeoff <n>` : Sets spaceSpeedTradeoffBytes (essential for Frostbite games)
  - `-quantumcrc`   : Enables sendQuantumCRCs (required for The Crew 2 and similar titles)

• Scanner Enhancements
  - Upgraded BlockScanner to check all 5 magic bytes
  - Improved recovery logic after failed block detection
  - Better cache handling in TryMatchBlock with shared_mutex protection
  - Enhanced statistics output (method & level distribution)

• Compression Pipeline Fixes
  - CompressAndVerify now properly passes OodleLZ_CompressOptions*
  - Fixed option propagation in RunScan, RunEncode, and reconstruction paths

• CLI & Usability
  - Updated help text with new options and examples
  - scan command now properly integrated with new parameters
  - Version string bumped to v33.3