| Anterior | Siguiente |
| ENOTSOCK | EILSEQ |
EBADMACHO
Qué significa EBADMACHO en macOS
EBADMACHO significa que el loader no puede interpretar de forma segura la estructura Mach-O. Es distinto de un binario válido para otra arquitectura (EBADARCH) o de una incompatibilidad de versión de una biblioteca (ESHLIBVERS).
Headers, número/tamaño de load commands, offsets y alineación deben ser coherentes. Truncado, extracción defectuosa, patch binario o copia incompleta pueden romper esa estructura aunque los primeros bytes sigan pareciendo Mach-O.
Qué comprobar
- Preserva el archivo y calcula un hash antes de reemplazarlo o modificarlo; compáralo con el artefacto original.
- Ejecuta
fileyotool -l; errores del parser o load commands absurdos son evidencia útil. - Revisa cada etapa de transferencia, desempaquetado y postprocesado; un origen válido no prueba que la copia instalada lo sea.
- No confundas un rechazo de firma/notarización con un Mach-O malformado: son fronteras distintas.
Referencias técnicas
- Apple XNU: errno.h
- Apple XNU: Mach-O headers and load commands
- Apple: Overview of the Mach-O Executable Format
- Apple Technical Note TN2206: macOS Code Signing In Depth
¿Buscas un código diferente? Buscar otro código de estado o error.