Tôi đang cố gắng khởi chạy một ứng dụng cũ hơn trong macOS Sierra. Nó hoạt động tốt ở El Capitan, tuy nhiên kể từ khi cập nhật lên Sierra, nó bị treo ngay lập tức khi khởi chạy với lỗi lỗi
Nhị phân nén UPX này chứa tiêu đề Mach-O không hợp lệ và không thể tải được.
Sử dụng Homebrew trong El Capitan, tôi đã cài đặt UPX và sử dụng nó để thử giải nén nhị phân, tuy nhiên điều này cho tôi biết rằng nhị phân không được nén ở vị trí đầu tiên.
$ 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.
Đây là nhật ký sự cố từ việc mở ứng dụng ở 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
Làm cách nào để mở ứng dụng này ở Sierra?