如图所示, 我想改这个MachO文件的 最低支持的ios版本 想把这个9.0.0 改成 8.0.0该如何改呢,
我用了十六进制编辑文件 UltraEdit 但是始终找不到9.0.0 求大神解惑下…
9.0.0对应十六进制的0009 00 00
所以8.0.0对应十六进制的什么呢? :)
不过其实没记错的话全置0也可以
但是也搜不到0009 00 00, 而且也搜不到 LC_VERSION_MIN_IPHONEOS
搜不到00090000是啥意思,你这图里不是有了LC_VERSION_MIN_IPHONEOS和00090000吗
我是在 十六进制编辑器UltraEdit 里面搜不出来 ,主要我想吧这个9.0.0 改成 8.0.0 不知道如何改
双击上面的十六进制00090000可以直接改。。。
MachOView这个软件 不能改二进制文件吧
我擦 居然可以改 9.0.0对应十六进制的0009 00 00
那么8.0.0对应十六进制 是不是 0008 00 00 ?
红色代表这栏修改过而已。。。。cmd+S保存之后关掉窗口重新解析一次看看不就知道了
嗯嗯 可以了 谢谢大佬
这些东西的结构在mach-o/loader.h里是能查到的 https://opensource.apple.com/source/cctools/cctools-870/include/mach-o/loader.h
比如你这个对应:
struct version_min_command {
uint32_t cmd; /* LC_VERSION_MIN_MACOSX or
LC_VERSION_MIN_IPHONEOS */
uint32_t cmdsize; /* sizeof(struct min_version_command) */
uint32_t version; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */
uint32_t sdk; /* X.Y.Z is encoded in nibbles xxxx.yy.zz */
};
注释里就表明了是xxxx.yy.zz 的格式
厉害了~~