Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sjcam — Investigación de ingeniería inversa y firmware personalizado para cámaras IoT basadas en Allwinner V3, incluidos analizadores de firmware, un cliente AVIOCTRL y una prueba de concepto de CVE-2026-52656 para reemplazo de firmware OTA no autenticado. | Kitploit
Herramientas/GitHubGitHub/keowu/sjcam
Seguridad de Sistemas EmbebidosSeguridad IoTAnálisis de VulnerabilidadesExplotaciónIngeniería InversaPruebas de PenetraciónSeguridad de HardwarePapers e InvestigaciónAprendizaje y EducaciónAnálisis de Firmware
GitHub
8120hace 2 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
keowu/sjcam

sjcam

Investigación de ingeniería inversa y firmware personalizado para cámaras IoT basadas en Allwinner V3, incluidos analizadores de firmware, un cliente AVIOCTRL y una prueba de concepto de CVE-2026-52656 para reemplazo de firmware OTA no autenticado.

Ver RepositorioSitio web

Lelouch: Investigación de Firmware SJCAM SJ4000 y Firmware Personalizado

CI

Banner del proyecto Lelouch

Trocar para Português (Brasil)

Notas de ingeniería inversa, herramientas de firmware, código de prueba de concepto y una interfaz de firmware personalizada para la versión Allwinner V3 de la SJCAM SJ4000 Air.

Artículo de investigación

Este repositorio contiene el código y los artefactos producidos durante la investigación. El artículo completo explica la investigación desde el primer volcado de firmware hasta el firmware personalizado Lelouch.

Lea el artículo de investigación completo en inglés) o en portugués.

Sobre el proyecto

Este trabajo comenzó con una pregunta simple: ¿cuánto control podría obtener sobre una cámara de acción económica sin documentación, código fuente ni soporte del fabricante?

La cámara resultó usar un SoC Allwinner V3 y un sistema Android 4.4 muy modificado. Su aplicación principal, sdv, se comunica con servicios de cámara y visualización propietarios a través de Binder, renderiza la interfaz con MiniGUI, expone un servidor HTTP para actualizaciones de firmware y se comunica con la aplicación SJCAM Zone mediante un protocolo propietario.

El repositorio documenta el camino desde la extracción del firmware hasta un reemplazo funcional para sdv. Incluye herramientas para los formatos de firmware encontrados durante la investigación, bases de datos IDA para los binarios invertidos, un cliente AVIOCTRL, el código fuente del firmware personalizado Lelouch y la prueba de concepto asociada a CVE-2026-52656.

El código está dirigido a la placa Allwinner V3 investigada con un controlador de pantalla ST7789V y un sensor de imagen GC4653. Las unidades SJ4000 más antiguas basadas en Novatek NT9665X se incluyen solo como parte de la investigación anterior y utilizan un formato de firmware diferente. Los nombres de productos por sí solos no son suficientes para establecer compatibilidad.

Lelouch

Lelouch es una interfaz de reemplazo para el ejecutable original sdv de la cámara. Está construida sobre las bibliotecas propietarias recuperadas del firmware y utiliza las mismas interfaces internas que la aplicación original.

La implementación actual incluye:

  • Vista previa de la cámara a través de las interfaces invertidas HerbCamera y CedarDisplay
  • Una interfaz MiniGUI diseñada para la pantalla de 320x240 de la cámara y sus botones físicos
  • Control del punto de acceso Wi-Fi a través de la capa de abstracción de hardware de Allwinner
  • Modo estación Wi-Fi usando una compilación ARMv7 personalizada de wpa_supplicant
  • Un pequeño navegador de texto con teclado en el dispositivo
  • Detección de movimiento en fotogramas de vista previa y código experimental de detección de rostros mediante cascada Haar
  • Vistas de estado de batería, tiempo, cámara, red y depuración
  • Inicialización de Binder y comunicación con los servicios ya presentes en el firmware

Lelouch no es una distribución completa ni un firmware genérico para cada producto vendido como SJ4000. Depende de las bibliotecas, kernel, servicios, diseño de particiones, controlador de pantalla, sensor de imagen y configuración de placa utilizados por la unidad Allwinner V3 investigada.

Estructura del repositorio

RutaContenido
Lelouch/Interfaz de firmware personalizado, entorno de compilación, encabezados recuperados, bibliotecas compartidas propietarias y código fuente modificado de wpa_supplicant
Reversing Scripts/Analizadores y reempaquetadores para IMAGEWTY de Allwinner, eGON de Allwinner y BCL1 de Novatek
AVIOCTRL Script/ウタ.pyCliente interactivo para el protocolo TCP propietario usado por SJCAM Zone
Bin Files/Bases de datos IDA para los ejecutables principales y bibliotecas compartidas analizadas durante la investigación
Firmwares Files/Muestras de firmware de Allwinner y Novatek utilizadas durante el desarrollo
POC/Prueba de concepto para CVE-2026-52656, imagen eGON manipulada y el payload de demostración de framebuffer/audio

Algunos directorios contienen material de terceros o propietario recuperado del dispositivo. Su presencia es para fines de interoperabilidad e investigación de seguridad y no convierte esos componentes en código abierto.

Compilación de Lelouch

La compilación se probó en Linux x86-64. Necesita Python 3, GNU Make, Git, un entorno de compilación C/C++ y acceso a la red para la descarga inicial del conjunto de herramientas.

git clone https://github.com/keowu/sjcam.git
cd sjcam/Lelouch
python3 prepare_build.py

prepare_build.py descarga un sysroot fijado de Android API nivel 14 y el compilador cruzado ARM arm-linux-androideabi-4.6 en Lelouch/android_compilers/. Luego compila el wpa_supplicant estático modificado y ejecuta make. Los archivos del compilador descargados y los binarios generados son ignorados por Git.

Los archivos resultantes son:

Lelouch/Lelouch
Lelouch/wpa_supplicant

Para recompilar después de cambiar las fuentes en C++:

cd Lelouch
make clean
make

El binario Lelouch generado está destinado a reemplazar /bin/sdv en el sistema de archivos raíz extraído. El modo estación Wi-Fi también espera el wpa_supplicant compilado en /mnt/extsd/sta/wpa_supplicant en la tarjeta SD de la cámara.

El código experimental de detección de rostros busca el archivo de cascada generado en:

/mnt/extsd/frontalface.casc

El repositorio incluye una cascada pregenerada y el convertidor utilizado para crearla:

cd Lelouch/gen_cascade
python3 gen_cascade.py haarcascade_frontalface_alt2.xml frontalface.casc

El procedimiento completo de extracción, reemplazo del sistema de archivos raíz, reempaquetado y flasheo con LiveSuit está documentado en el artículo de investigación enlazado al inicio de esta página.

Herramientas de firmware

Todos los puntos de entrada de los analizadores son scripts de Python 3 con salida --help incorporada y sin dependencias de terceros de Python.

Allwinner IMAGEWTY

Lee la imagen de firmware externa de LiveSuit, extrae sus archivos y reconstruye una imagen a partir de un directorio extraído.

python3 "Reversing Scripts/AllWinner IMAGEWTY - ROM Parser/main.py" info firmware.img
python3 "Reversing Scripts/AllWinner IMAGEWTY - ROM Parser/main.py" extract firmware.img -o image_dump
python3 "Reversing Scripts/AllWinner IMAGEWTY - ROM Parser/main.py" repack image_dump rebuilt.img

Allwinner eGON

Inspecciona, extrae y reempaqueta el contenedor full_img.fex que se encuentra dentro de la imagen IMAGEWTY.

python3 "Reversing Scripts/AllWinner EGON - Firmware Parser/main.py" info full_img.fex
python3 "Reversing Scripts/AllWinner EGON - Firmware Parser/main.py" extract full_img.fex -o egon_dump
python3 "Reversing Scripts/AllWinner EGON - Firmware Parser/main.py" pack egon_dump \
  --original full_img.fex \
  -o rebuilt_full_img.fex

El empaquetador usa el archivo original como plantilla para que el diseño y los metadatos originales se puedan conservar mientras se reemplazan las particiones.

Novatek BCL1

Descargar herramienta