分析MAC*.a库文件信息

一、起因

在前面的文章中,我尝试在MAC终端上编译构建了可直接用于COCOS2D-X C++开发的Lean Cloud库。于是,接下来制作一个基本的例子去使用这个库中功能。出于类似于windows vc开发时候的好奇吧,我想先瞅瞅(使用mac下的工具)这个.a文件中包含/输出哪些内容。于是,在网络上搜索找到几个基本工具。

二、分析工具

目前我使用的工具有MAC终端命令行工具(系统本身提供,但是需要安装xcode,我的是version 7.2):

  • ar
  • nm
  • otool
  • file
  • lipo

还有专业的更强大的mac 反编译工具Hopper Disassembler。这个暂时不使用了,我目前专门搞破解分析的,暂时不必要安装这个工具。但是,http://www.cnblogs.com/ziyouchutuwenwu/archive/2013/03/16/2963824.html处的几个小小截图已经充分显示了这个工具的强大功能。类似于windows下的那几个东西......我想,如果想研究mac下的汇编语言开发,这个工具肯定是必备的工具之一了。

三、分析我的库文件libavoscloud.a

1. ar -t *.a



使用命令是:ar -t libavoscloud.a

2. nm libavoscloud.a



输出内容非常复杂,部分截图如下:

这种信息非常丰富,肯定是前面的Hopper Disassembler这样的工具所要包含的功能之一。

3.otool libavoscloud.a -L



输出如下图所示结果:

与上面的ar -t基本是一致的。但是,这个otool还有更细致丰富的功能,在此不赘述,有举趣的朋友可以参考文后参考文献。

4.lipo -detailed_info libavoscloud.a



输出如下图所示结果:

四、参考资料

时间: 2024-11-03 04:58:13

分析MAC*.a库文件信息的相关文章

.a 库文件信息查看

在Linux 下经常需要链接一些 *.a的库文件,那怎么查看这些*.a 中包 含哪些文件.函数.变量: 1. 查看文件:ar -t *.a 2. 查看函数.变量:nm *.a

运行程序出错无法找到库文件

问题:在运行程序时,报如下故障./smart_biz: error while loading shared libraries: libredisclient.so: cannot open shared object file: No such file or directory ①库文件不存在,需要添加库文件    ②系统64位,而程序库文件只是32位的 1.查找是否存在该库文件,注:文件权限 find / -name " libredisclient.so" 2.打印可执行档依

开源项目成熟度分析工具-利用github api获取代码库的信息

1.github api github api是http形式的api,功能还是比较丰富的,博主因为项目的原因主要用到的是提取project信息这项功能,返回的数据是JSON格式. api页:https://developer.github.com/v3/ Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication method (H) -a, --append Ap

【discuzX2】/source/function/function_core.php通用核心函数库文件分析

[php] view plain copy print? <?php /** *      [Discuz!] (C)2001-2099 Comsenz Inc. *      This is NOT a freeware, use is subject to license terms * *      $Id: function_core.php 28890 2012-03-19 02:05:42Z liudongdong $ */ if(!defined('IN_DISCUZ')) { e

MediaInfo用来分析视频和音频文件的编码和内容信息的超好用工具

转载:http://blog.csdn.net/ameyume/article/details/6718705 MediaInfo简介 MediaInfo 用来分析视频和音频文件的编码和内容信息. MediaInfo 是自由软件 (免费使用.免费获得源代码,许可协议:GNU GPL/LGPL) 下载地址: windows版: http://mediainfo.sourceforge.net/zh-CN ubuntu版: http://mediainfo.sourceforge.net/zh-CN

Mac下svn问题——“.a”(静态库)文件无法上传解决

“.a”(静态库)文件无法上传(svn工具) 网上查询了一下,说是Xcode自带的svn和Versions以及一些其它工具都不能上传".a"文件. 解决办法如下: 1.打开终端,输入cd,空格,然后将需要上传的.a文件所在的文件夹(不是.a文件)拖拽到终端(此办法无需输入繁琐的路径,快捷方便) ,回车: 2.之后再输入如下命令:svn add libGoogleAnalytics.a,回车: 3.之后会出现:A  (bin)  libGoogleAnalytics.a 表示添加成功,打

开源项目成熟度分析工具-利用github api获代替码库的信息

1.github api github api是http形式的api,功能还是比較丰富的,博主由于项目的原因主要用到的是提取project信息这项功能.返回的数据是JSON格式. api页:https://developer.github.com/v3/ Options: (H) means HTTP/HTTPS only, (F) means FTP only --anyauth Pick "any" authentication method (H) -a, --append Ap

通过GeoIP2分析访问者IP获取地理位置信息

原文链接:http://blog.csdn.net/johnnycode/article/details/42028841 MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容.诈欺检测.广告定向.网站流量分析.执行规定.地理目标定位.地理围栏定位 (geo-fencing)以及数字版权管理.目前使用 GeoIP 更多是配合Nginx或Apache服务器进行日志分析获取网站访问量地域分布状况. GeoIP 分为商业版和免费版,免费版比商业版精度差了

很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序

很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用make更新函数库文件 后序 近期在学习Linux下的C编程,买了一本叫<Linux环境下的C编程指南>读到makefile就越看越迷糊,可能是我的理解能不行. 于是google到了以下这篇文章.通俗易懂.然后把它贴出来,方便学习. 后记,看完发现这篇文章和<Linux环境下的C编程指南>