T-70 es un proyecto de Rust inspirado en la Unidad de Infantería de Combate Automatizada Cyberdyne Serie 70 ("The Terminator"). El proyecto realiza verificación facial en tiempo de ejecución utilizando OpenCV a través de enlaces opencv-rust e integra un CascadeClassifier con modelos MobileNetV2 para detección de rostros y comparación de similitudes. El sistema está diseñado para ejecutarse como un ejecutable independiente, lo que lo hace ideal para su implementación en entornos donde la verificación facial en tiempo real es esencial.
Detección de VM : el proyecto incluye una lógica de detección de máquinas virtuales para determinar si el ejecutable se está ejecutando en un entorno virtualizado. Si se detecta una VM, el ejecutable se autoborra.
Detección y comparación de rostros : el sistema captura imágenes utilizando una cámara conectada, detecta rostros y compara incrustaciones de la transmisión en vivo con una imagen de referencia para calcular puntuaciones de similitud.
Acción automatizada : según la puntuación de similitud, el sistema puede ejecutar shellcode si se encuentra una coincidencia.
main.rs
: El principal punto de entrada del proyecto.
Módulos :
camera
: Maneja la inicialización y entrada de la cámara.
classifier
: Gestiona la inicialización del clasificador de detección de rostros.
face_detection
: Responsable de detectar rostros y procesar la imagen de referencia.
similarity
: Calcula puntuaciones de similitud entre las caras detectadas y las caras de referencia.
Funciones externas :
Funciones como GetProcessCountViaSnapShot
, GetUniqueUserCountViaSnapshot
y VmDetection
están integradas en el proyecto para funciones avanzadas de tiempo de ejecución.
Este proyecto depende de lo siguiente:
OpenCV : Específicamente, se requiere una versión compilada estáticamente de la biblioteca OpenCV.
Enlaces opencv-rust : proporciona enlaces de Rust a OpenCV. Consulte el repositorio de GitHub opencv-rust para obtener más información.
Antes de construir el proyecto, asegúrese de que OpenCV esté compilado estáticamente. Siga la documentación de OpenCV para configurar una versión compilada estáticamente de la biblioteca en su sistema.
En el directorio scripts
, encontrará scripts de Python que le ayudarán a descargar versiones sin conexión de los modelos MobileNetV2 y CascadeClassifier. Estos son necesarios para ejecutar los componentes de comparación y detección facial.
Una vez que se compila OpenCV y se descargan los modelos, puede construir el proyecto usando Cargo:
construcción de carga-liberación
Después de construir el proyecto, puede ejecutar el ejecutable para iniciar el proceso de detección y verificación de rostros:
./target/release/T-70.exe
Un agradecimiento especial a twistedfall por mantener el proyecto opencv-rust
, que fue fundamental para el desarrollo del sistema T-70.
El T-70 tiene la licencia MIT.
Inspirado en la Unidad de Infantería de Combate Automatizada Cyberdyne Serie 70 ("The Terminator").
Más información: Terminador Cyberdyne Serie 70