«Этот сжатый двоичный файл UPX содержит недопустимый заголовок Mach-O и не может быть загружен».

Я пытаюсь запустить старое приложение в macOS Sierra. Он отлично работал в El Capitan, однако с момента обновления до Sierra он сразу же срабатывает при запуске с ошибкой ...

  

Этот сжатый двоичный файл UPX содержит недопустимый заголовок Mach-O и не может быть загружен.

Используя Homebrew в El Capitan, я установил UPX и использовал его, чтобы попытаться распаковать двоичный файл, однако это говорит мне, что двоичный файл не сжимается в первую очередь.

$ upx -d /tmp/Run.app/Contents/MacOS/Run
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2013
UPX 3.91        Markus Oberhumer, Laszlo Molnar & John Reiser   Sep 30th 2013

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
upx: /tmp/Run.app/Contents/MacOS/Run: NotPackedException: not packed by UPX

Unpacked 0 files.

Это журнал сбоев при открытии приложения в Sierra.

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGKILL)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    EXEC, [0xc] This UPX compressed binary contains an invalid Mach-O header and cannot be loaded.

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib          0x00007fffcffeabb2 __posix_spawn + 10
1   libsystem_kernel.dylib          0x00007fffcffe5ef2 posix_spawn + 386
2   xpcproxy                        0x000000010dbb2d75 0x10dbb0000 + 11637
3   xpcproxy                        0x000000010dbb3992 0x10dbb0000 + 14738
4   libdyld.dylib                   0x00007fffcfebc255 start + 1

Как я могу открыть это приложение в Sierra?

9 голосов | спросил grg 7 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 07 Sep 2016 11:40:42 +0300 2016, 11:40:42

2 ответа


1

Я не понимаю ваш код, в частности, хотя это распространенная проблема с новой версией ОС (совместимость с предыдущим программным обеспечением).

  • Первый шаг, посмотрите на сайт разработчиков, указав, что они будут исправлять для Сьерры. Возможно, они уже опубликовали бета-патч, который недоступен с помощью Software Update.

  • Отправьте Dev письмо с просьбой отправить его по электронной почте. Это может занять некоторое время, чтобы наверстать упущенное, особенно если у них есть несколько приложений на нескольких платформах.

  • Подумайте о наличии двойной загрузочной Mac. Обычно я сохраняю клон моей текущей системы на другом диске (или разделе) после установки новой ОС, затем я могу быстро перезагрузить и продолжить использовать программное обеспечение. Я фактически храню унаследованный Mac в эти дни, работая 10.6 и 10.8 только для этой поддержки.

  • Рассмотрим виртуальную машину. Вы можете использовать эмулятор на OSX и установить версию ОС, которую вы предпочитаете (включая Windows). Не уверен, что эмуляторы выпущены для Сьерры, хотя.

ответил Applefanboy 7 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 07 Sep 2016 20:07:31 +0300 2016, 20:07:31
1

Проблема была опубликована как UPX - это путь, нарушенный Darwin 16 /OS X Sierra. # 4 .

Похоже, что upx 3.92 рассмотрит эту проблему.

ответил ɹoƃı 21 stEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 21 Sep 2016 15:12:00 +0300 2016, 15:12:00

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132