拆分 multi-architecture Mach-o 二进制文件
Splitting a multi-architecture Mach-o binary
我已经从应用商店下载并解密(使用 dumpdecrypted)一个 iOS 应用程序(我们称之为 myApp)。当我 运行 "otool -arch all -Vh myApp" 时,我得到以下结果:
myApp (architecture armv7):
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC ARM V7 0x00 EXECUTE 76 7140 NOUNDEFS DYLDLINK TWOLEVEL WEAK_DEFINES BINDS_TO_WEAK PIE
myApp (architecture arm64):
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC_64 ARM64 ALL 0x00 EXECUTE 76 7888 NOUNDEFS DYLDLINK TWOLEVEL WEAK_DEFINES BINDS_TO_WEAK PIE
我希望能够将二进制文件拆分为两个文件,每个体系结构一个。我想这可以通过解析 Mach-o headers 来完成,但我不知道如何做。
谢谢。
最简单的方法是使用 lipo
和命令行选项 -thin
。例如
lipo -thin armv7 -output myApp_armv7 myApp
我已经从应用商店下载并解密(使用 dumpdecrypted)一个 iOS 应用程序(我们称之为 myApp)。当我 运行 "otool -arch all -Vh myApp" 时,我得到以下结果:
myApp (architecture armv7):
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC ARM V7 0x00 EXECUTE 76 7140 NOUNDEFS DYLDLINK TWOLEVEL WEAK_DEFINES BINDS_TO_WEAK PIE
myApp (architecture arm64):
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC_64 ARM64 ALL 0x00 EXECUTE 76 7888 NOUNDEFS DYLDLINK TWOLEVEL WEAK_DEFINES BINDS_TO_WEAK PIE
我希望能够将二进制文件拆分为两个文件,每个体系结构一个。我想这可以通过解析 Mach-o headers 来完成,但我不知道如何做。
谢谢。
最简单的方法是使用 lipo
和命令行选项 -thin
。例如
lipo -thin armv7 -output myApp_armv7 myApp