美文网首页
【iOS】二进制分析

【iOS】二进制分析

作者: 24c41111e47b | 来源:发表于2020-10-13 15:15 被阅读0次

记录总结不常用的分析二进制数据的技巧

本文介绍使用 otool 工具进行分析二进制数据的方法,旨在快速操作,节省时间,详细工具信息可自行谷歌


1.分析.a静态库是否支持bitcode
$ otool -arch armv7 -l xxx.a | grep __bitcode | wc -l

  • 如果当前库支持bitcode则会输出一个数字,如果不支持不会输出数字
  • 上述命令只检查了armv7架构,也可检查其他指令集,如:armv7s, arm64

2.分析app中二进制和framework中二进制文件是否支持bitcode
$ otool -l xxx | grep __LLVM | wc -l

如果你的framework使用过lipo命令进行拆解/合并操作,请使用下述操作,指定指令集
$ otool -arch armv7 -l xxxx | grep __LLVM | wc -l

3.有一种可能,.a文件中armv7指令集开启了bitcode,arm64没有开启,验证方式
检查library支持的指令集
$ lipo -info xxx.a
分离提取独立的CPU架构,如分离arm64架构
$ lipo -thin arm64 libdemo.a -output libdemo-arm64.a

4.另一种可能,某各.o文件没有开启bitcode,验证方式:
分离解压目标文件
$ ar -x libdem-arm64.a
检测单个文件是否支持bitcode
$ otool -l libdemo-la-util.o | grep bitcode

5.查看文件的md5值
$ md5 file.o

相关文章

网友评论

      本文标题:【iOS】二进制分析

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