4 votos

Falsificar la versión del sistema operativo para engañar a un instalador con errores

Se me ha asignado la tarea de apoyar una imprenta que usa Kodak Prinergy 6.1, el cual es antiguo. Necesito instalarlo en una nueva máquina. El problema es que el instalador tiene un error donde compara las versiones del sistema operativo lexicográficamente, por lo que no reconoce que 10.13 es más reciente que el mínimo requerido de 10.4.

¿Hay alguna manera de engañar al instalador para que piense que estoy ejecutando 10.9?

0 votos

¿Estás seguro de que el software se ejecuta en Intel? ¿El instalador es un .app o un .pkg?

0 votos

@patrix La aplicación se sabe que funciona en máquinas que se han actualizado a 10.10+. Simplemente no se instalará en ellas.

0 votos

¡Buena :-) .app o .pkg, ¿o algo más?

3voto

JMY1000 Puntos 1205

Suponiendo que no está integrado en el instalador, puedes editar los requisitos de versión para el paquete de la aplicación.

Haz clic derecho en la aplicación, selecciona Mostrar contenido del paquete y abre Info.plist. Busca una clave LSMinimumSystemVersion, luego cambia el valor a tu versión de macOS.

introduce la descripción de la imagen aquí

También puedes usar el editor visual de Xcode

introduce la descripción de la imagen aquí

Es posible que necesites hacer un poco más de trabajo.

NSBundle y CFBundle almacenan agresivamente el contenido de los paquetes de aplicaciones para mejorar el rendimiento. Aunque hayas editado el Info.plist, no significa que el Finder y los Servicios de lanzamiento sepan que la aplicación es diferente.

Ejecutar el siguiente comando en Terminal para tocar el paquete de la aplicación forzará al Finder (y a los Servicios de lanzamiento) a volver a registrar la aplicación, y así notarán los cambios que hiciste en el Info.plist:

tocar "/Applications/Mi Genial App.app"

Después de ejecutar eso, deselecciona la aplicación, luego vuélvela a seleccionar en el Finder y luego intenta abrirlo.

Ten en cuenta que esto no garantiza necesariamente que podrás abrir la aplicación.

En el caso de que esté integrado más profundamente en la aplicación, puedes editar tu versión de macOS a nivel del sistema. Ten en cuenta que también necesitarás deshabilitar SIP si aún no lo has hecho.

  1. Inicia en modo de usuario único (mantén presionada la tecla s durante el arranque)

  2. Haz que el sistema de archivos sea legible:

    /sbin/mount -wu /

  3. Ve al directorio /System/Library/CoreServices:

    cd /System/Library/CoreServices

  4. Edita SystemVersion.plist

    nano SystemVersion.plist

  5. Cambia las cadenas de versión (nota que puede haber dos de estas en el archivo .plist), por ejemplo

        ProductBuildVersion
        14E46
        ProductCopyright
        1983-2015 Apple Inc.
        ProductName
        Mac OS X
        ProductUserVisibleVersion
        10.10.4                // <<<
        ProductVersion
        10.10.4                // <<<
  6. Guarda y sal (presiona Control-OControl-X)

  7. Reinicia:

    reiniciar

0 votos

En este caso el bug está integrado en el instalador. (Utiliza una versión antigua de InstallAnywhere.) Todavía no he tenido la oportunidad de probar tu segunda sugerencia, pero estoy aceptando esta respuesta porque parece muy detallada.

0 votos

Continúa y pruébalo y dime qué sucede, ¡estaré encantado de ayudarte!

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X