Reverse Engineering de un Plugin Heredado para una EdTech de Valencia
Visión general
De qué trata este proyecto.
Recibes el binario (.so 4,2 MB), los headers públicos (.h) y 6 ejemplos de uso documentados. Carga el binario en Ghidra, mapea las 18 funciones públicas de los headers a sus equivalentes en assembly, identifica las 4 funciones internas más llamadas. Diagnostica el crash con kernel 6.x: hipótesis (cambio de syscalls, glibc, ABI). Construye un caso reproducible mínimo. Aplica el parche más pequeño defendible (puede ser stub LD_PRELOAD, recompilación de un wrapper o patch binario justificado). Entrega documento de ingeniería inversa (10 páginas), parche con script de aplicación reproducible y recomendación sobre mantener vs reescribir.
El Briefing
Lo que harás y lo que demostrarás.
Aplicar ingeniería inversa a un plugin propietario sin fuente, diagnosticar y parchear un crash con kernel 6.x, y recomendar mantener vs reescribir.
Earning criteria — what you'll demonstrate
- Realizar ingeniería inversa con Ghidra sobre binario sin código fuente
- Diagnosticar bugs de compatibilidad con cambios de kernel y glibc
- Aplicar parches mínimos defendibles cuando la reescritura no es viable
- Recomendar mantener vs reescribir con estimaciones honestas de coste
Encaje académico
Dónde encaja esto en tus estudios.
Afina las mismas habilidades que tu titulación espera de ti.
Habilidades
Habilidades que demostrarás.
Cada una aparece en tu credencial verificada.
Carreras
Roles para los que esto te prepara.
Títulos reales. Puentes de habilidades reales. Elige el que más se acerque a tu trayectoria.
Trayectorias profesionales que esto construye
Roles canónicosIngeniero de Software
Reverse engineer un binario propietario y parchearlo sin código fuente es un perfil cotizado en mantenimiento de software heredado y consultoría especializada.
Este proyecto afina
- reverse-engineering
- cpp
- debugging
Ingeniero de Backend
Diagnosticar bugs de compatibilidad de kernel y glibc es la frontera del backend senior cuando el producto depende de bibliotecas nativas.
Este proyecto afina
- debugging
- cpp
- linux