成功砸壳分析一个App Store应用后,想尝试分析一个dylib文件,但是按照类似的命令输入后,提示文件类型错误,如:
随后查了查,又注意到了class-dump-x/z两个修改版,如念茜的博客:iOS安全攻防(六),但个人还是不很清楚这三者
间的关系和应用区别,提两个疑问:
1. class-dump: class-dump-x和class-dump-z三者的继承关系和各自的应用场景?
2. 如何分析dylib文件和Frameworks文件?
成功砸壳分析一个App Store应用后,想尝试分析一个dylib文件,但是按照类似的命令输入后,提示文件类型错误,如:
随后查了查,又注意到了class-dump-x/z两个修改版,如念茜的博客:iOS安全攻防(六),但个人还是不很清楚这三者
间的关系和应用区别,提两个疑问:
1. class-dump: class-dump-x和class-dump-z三者的继承关系和各自的应用场景?
2. 如何分析dylib文件和Frameworks文件?
谢谢@snakeninny 的解答,每次你的回答都很有助于帮助我全面的看问题,能引发思考和继续研究的冲动。疑问解决了,细节就该自己去补充和验证了
追问: 3. 找到正确的Mach-o文件后,输入命令又出现如下错误:
zhaocaoyuan$ class-dump -H ResultObject.dylib -o ResultObject.dylib.
Error: Fat file doesn’t contain a valid Mach-O file for the specified architecture (armv6). It probably means that class-dump was run on a static library, which is not supported.网上没有找到详细的解析,应该如何处理?
其实错误信息已经很明确了:在这个fat文件里没有找到armv6架构的MachO文件。也就是说,如果不指定处理器架构,你的class-dump对于fat文件处理的默认目标是armv6。因此,你需要显式指定处理器架构,在class-dump命令中加入一条–arch armvX的选项即可
LZXdeMac:~ lzx$ class-dump --arch x86_64 -H /Users/lzx/Desktop/Optimizely-iOS-SDK-master/Optimizely.framework/Versions/A/Optimizely -o /Users/optimizelyheads
Error: Fat file doesn’t contain a valid Mach-O file for the specified architecture (x86_64). It probably means that class-dump was run on a static library, which is not supported.
我加了–arch 。。。但是还是报错,是为什么?求大神赐教
原版classdump直接可用啊。。。。。
是不是optimizely 只是用framework 文件夹,里面放了一个静态库,用nm 可以打印出静态库一些信息