Estoy buscando parchar una pieza de abandware con algún código.Cómo insertar un comando LC_LOAD_DYLIB en un binario Mach-O (OSX)
El software está basado en carbono, por lo que no puedo usar un InputManager (al menos, no creo que pueda). Mi idea era agregar una referencia dylib al encabezado mach-o, y lanzar un nuevo subproceso cuando se llama a la rutina de inicialización.
He perdido el tiempo con el encabezado mach-o utilizando un editor hexadecimal para agregar el comando de carga apropiado (LC_ LOAD_DYLIB).
otool informa lo que espero ver, así que estoy bastante seguro de que el archivo está formateado correctamente.
Load command 63 cmd LC_LOAD_DYLIB cmdsize 60 name @executable_path/libAltInput.dylib (offset 24) time stamp 1183743291 Fri Jul 6 19:34:51 2007 current version 0.0.0 compatibility version 0.0.0
Sin embargo, el lanzamiento de la binaria me da el siguiente error
dyld: bad external relocation length
Todo lo que puedo adivinar que esto significa es que tengo que modificar las secciones LC_ SYMTAB o LC_ DYNSYMTAB ...
¿Alguien tiene alguna idea?
Genial. Este es un gran consejo. Para responderte, no, no estoy distribuyendo la aplicación. Lo estoy aplicando para mi uso personal, de modo que pueda usar un HID alternativo (casi he renunciado a la esperanza tanto en el distribuidor de la aplicación como en el fabricante del controlador para el HID). –
Sí, acabo de leer su otra pregunta ... mach_inject es probablemente su mejor y más fácil apuesta aquí. –