Macho文件浏览器---MachOView
来源:互联网 发布:深圳淘宝开店培训 编辑:程序博客网 时间:2024/06/05 14:22
前言:
MachOView下载地址:http://sourceforge.net/projects/machoview/
MachOView源码地址:https://github.com/gdbinit/MachOView
Mach-O格式全称为Mach Object文件格式的缩写,是mac上可执行文件的格式,类似于windows上的PE格式 (Portable Executable ), linux上的elf格式 (Executable and Linking Format)。
mach-o文件类型分为:
1、Executable:应用的主要二进制
2、Dylib Library:动态链接库(又称DSO或DLL)
3、Static Library:静态链接库
4、Bundle:不能被链接的Dylib,只能在运行时使用dlopen( )加载,可当做macOS的插件
5、Relocatable Object File :可重定向文件类型
那什么又是FatFile/FatBinary?
简单来说,就是一个由不同的编译架构后的Mach-O产物所合成的集合体。一个架构的mach-O只能在相同架构的机器或者模拟器上用,为了支持不同架构需要一个集合体。
一、使用方式
1、MachOView工具概述
MachOView工具可Mac平台中可查看MachO文件格式信息,IOS系统中可执行程序属于Mach-O文件格式,有必要介绍如何利用工具快速查看Mach-O文件格式。MachOView工具属于免费开源项目,源代码可在https://github.com/gdbinit/MachOView下载,MachOView安装之后文件布局如下图所示:
点击“MachOView”之后,便在Mac系统左上角出现MachOView工具的操作菜单,对应功能菜单如下图所示:
将“MachOView”拖到Application文件夹,就可以像其他程序一样启动了
下面介绍MachOView文件功能使用。
2、加载Mach-O文件
点击MachOView工具的主菜单“File”中的“Open”选项便可加载IOS平台可执行文件,对应功能接入如下所示:
转自:http://www.jianshu.com/p/175925ab3355
例如加载文件名为“libLDCPCircle.a”的静态库文件,加载成功之后显示的界面如下图所示:
上图界面出现表明Mach-O文件加载完毕。
3、文件头信息
MachOView工具成功加载Mach-O文件之后,每个.o文件对应一个类编译后的文件,展开每个类如下如:
在左边窗口点击“Mach Header”选项,可以看到每个类的cpu架构信息、load commands数量 、load commandssize 、file type等信息。
4、查看Fat文件
我们打开一个Fat文件可以看到:
可以看到,fat文件只是对各种架构文件的组装,点开 “Fat Header”可以看到支持的架构,图中显示的支持ARM_V7 、ARM_V7S 、ARM_64 、i386 、 X86_64。
点开每一个Static Library 可以看到,和每一个单独的Static Library的信息一样。
小命令:
lipo LoginSDK.a -thin armv7 -output arm/LoginSDK.a 将fat文件拆分得到armv7类型
lipo -create ibSyncSDKA.i386.a libSyncSDK.arm7.a -output libSyncSDK.a 合成一个i386和armV7架构的fat文件
- Macho文件浏览器---MachOView
- Macho文件浏览器---MachOView
- machoview-macho可视化工具
- 使用MachOView辅助破解AppStore应用
- 识别macho block的ida脚本
- 文件浏览器
- J2ME文件浏览器
- Fedora的文件浏览器
- fedora开启文件浏览器
- qt做文件浏览器
- Android文件浏览器
- 多重窗口文件浏览器
- android文件浏览器
- SD卡文件浏览器
- SD卡文件浏览器
- 浏览器文件下载问题
- qt做文件浏览器
- 自制Android 文件浏览器
- pyinstaller的库导入和多进程打包问题
- 剑指offer-面试题19-二叉树的镜像
- 微服务的优势与不足
- stl算法_foreach和transform基本使用,算法比较以及源码追踪
- 记一次坑爹的三方sdk问题的编译错误
- Macho文件浏览器---MachOView
- WPF的ScrollViewer鼠标的滚动
- 本地存贮-文件系统
- 使用PullToRefreshListView遇到的坑
- 腾讯学院运营课程第八、九天
- mobile/移动端布局技巧
- Javascript中的逻辑运算符详解
- 开机后自动运行某个App
- UVA12108-4.8(ti)-Extraordinarily Tired Students