Un editor hexadecimal para ingenieros inversos, programadores y personas que valoran sus retinas cuando trabajan a las 3 de la mañana.
Características
- Vista hexadecimal
- Parcheo de bytes
- Gestión de parches
- Copiar bytes como característica
- Bytes
- String hexadecimal
- Matriz C, C++, C#, Rust, Python, Java & JavaScript
- Vista hexadecimal ASCII-Art
- HTML autocontenido div
- Búsqueda de strings y hexadecimales
- Resaltado de colores
- Ir al principio, al final y a la posición actual del cursor
- Lenguaje de patrones personalizado tipo C++ para el análisis sintáctico que resalta el contenido de un archivo
- Carga automática basada en el tipo MIME
- Arrays, punteros, structs, uniones, enums, campos de bits, espacios de nombres, soporte de little y big endian, condicionales y mucho más.
- Útiles mensajes de error, resaltado de sintaxis y marcado de errores
- No quema las retinas cuando se utiliza en sesiones nocturnas
- Modo oscuro por defecto, pero también está disponible un modo claro
- Importación de datos
- Archivos Base64
- Parches IPS e IPS32
- Exportación de datos
- Parches IPS e IPS32
- Inspector de datos que permite interpretar los datos como muchos tipos diferentes (little y big endian)
- Soporte de archivos de gran tamaño con carga rápida y eficiente
- Búsqueda de strings
- Copia de strings
- Copia de strings desmanejados
- Soporte de hashing de archivos
- CRC16 y CRC32 con valores iniciales y polinomios personalizados
- MD4, MD5
- SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
- Desensamblador que soporta muchas arquitecturas (frontend para Capstone)
- ARM32 (ARM, Thumb, Cortex-M, AArch32)
- ARM64
- MIPS (MIPS32, MIPS64, MIPS32R6, Micro)
- x86 (16-bit, 32-bit, 64-bit)
- PowerPC (32-bit, 64-bit)
- SPARC
- IBM SystemZ
- xCORE
- M68K
- TMS320C64X
- M680X
- Ethereum
- RISC-V
- WebAssembly
- MOS565XX
- Berkeley Packet Filter
- Marcadores
- Resaltado de regiones
- Comentarios
- Analizador de datos
- Analizador de archivos basado en Magic y base de datos de tipos MIME
- Gráfico de distribución de bytes
- Gráfico de entropía
- Entropía máxima y media
- Detección de archivos encriptados/comprimidos
- Almacén de contenidos construido
- Descarga de todos los archivos encontrados en la base de datos directamente desde ImHex
- Soporte de reglas de Yara
- Escanea rápidamente un archivo en busca de vulnerabilidades con las reglas oficiales de Yara
- Herramientas útiles
- Desmantelador Itanium y MSVC
- Tabla ASCII
- Reemplazador de Regex
- Evaluador de expresiones matemáticas (Calculadora)
- Seleccionador de colores hexadecimales
- Convertidor de bases
- Calculadora de permisos UNIX
- Herramienta de carga de archivos Anonfiles
- Buscador de definiciones de términos de Wikipedia
- Utilidades de archivos
- Divisor de archivos
- Combinador de archivos
- Destructor de archivos
Lenguaje de Patrones
El Lenguaje de Patrones personalizado tipo C desarrollado y utilizado por ImHex es fácil de leer, entender y aprender. Una guía con todas las características del lenguaje se puede encontrar en la página de docs.
Base de datos
Para obtener patrones de formato, bibliotecas, archivos mágicos y constantes, consulta el repositorio ImHex-Patterns .
Requisitos
Para utilizar ImHex, es necesario cumplir los siguientes requisitos mínimos del sistema:
- Sistema operativo: Windows 10 o superior, macOS 11 (Big Sur) o superior, Linux “moderno” (Ubuntu 22.04+, Fedora y Arch Linux son oficialmente compatibles)
- CPU: x86_64 (64 bits)
- GPU: OpenGL 3.0 o superior (preferiblemente una GPU dedicada y no Intel HD Graphics)
- RAM: 512MB, puede ser necesaria más para análisis más complicados
- Almacenamiento: 100MB
Construcciones Nocturnas
Las versiones nocturnas están disponibles a través de GitHub Actions aquí.
- Windows • x86_64
- MacOS • x86_64
- Linux • x86_64
Compilación
Para compilar ImHex en cualquier plataforma, se requiere GCC con una versión que soporte C++23 o superior. En macOS, también se requiere Clang para compilar parte del código ObjC.
Muchas dependencias están incluidas en el repositorio usando submódulos, así que asegúrate de clonarlo usando la opción --recurse-submodules
. Todas las dependencias que no están empaquetadas, pueden ser instaladas usando los scripts de instalación de dependencias que se encuentran en la carpeta /dist
.
ImHex (este enlace se abre en una nueva ventana) por WerWolv (este enlace se abre en una nueva ventana)
🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.