美文网首页
写Mac 命令行 来识别Mach-O文件类型 (swift)

写Mac 命令行 来识别Mach-O文件类型 (swift)

作者: 化二缺 | 来源:发表于2020-04-01 14:35 被阅读0次
import Foundation
import MachO

let  path:String = "/Users/hyz/Library/Developer/Xcode/DerivedData/iOSCommandLinelearn-bdsbgtyblmlxwbcuvjuexmictdnw/Build/Products/Debug-iphoneos/iOSCommandLinelearn.app/iOSCommandLinelearn";
let handle = FileHandle.init(forReadingAtPath: path)
let length  = MemoryLayout.size(ofValue: __uint32_t())
let magicData = handle?.readData(ofLength: length)//读取最前面的 4个字节 用来标识文件类型 
let magicNSdata = NSData.init(data: magicData!)
var magicNumber = uint32()
magicNSdata.getBytes(&magicNumber, length: length)

if magicNumber == FAT_CIGAM ||  magicNumber == FAT_MAGIC {
    print("FAT文件\n")
} else if magicNumber == MH_MAGIC_64 || magicNumber == MH_CIGAM_64{
    print("64bit 架构文件\n")
} else if magicNumber == MH_MAGIC || magicNumber == MH_CIGAM {
    print("非 64bit 架构文件\n")
} else {
    print("错误")
}

handle?.closeFile()

相关文章

网友评论

      本文标题:写Mac 命令行 来识别Mach-O文件类型 (swift)

      本文链接:https://www.haomeiwen.com/subject/refauhtx.html