首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在macOS上,为什么otool -L不显示应用程序运行时所使用的libpng版本?

在macOS上,otool -L命令可以用来查看应用程序或库文件依赖的动态链接库。但是它无法直接显示应用程序运行时所使用的libpng版本的原因可能有以下几点:

  1. libpng可能没有被应用程序直接链接:应用程序开发过程中,libpng可能被静态链接到应用程序中,因此不会以动态库的形式存在,所以otool -L无法显示。
  2. libpng版本信息被隐藏或加密:有些开发者可能会对应用程序进行保护,包括隐藏或加密其中的关键信息,包括依赖的库文件版本信息。这样做是为了保护知识产权和安全性。
  3. libpng版本信息不存在或不可用:在某些情况下,应用程序可能并不直接依赖于libpng,或者没有使用libpng相关的功能。因此,在这种情况下,otool -L命令将不会显示libpng的版本信息。

总之,无法通过otool -L命令直接显示应用程序运行时所使用的libpng版本的具体原因取决于应用程序的开发方式和依赖情况。如果需要确定应用程序是否使用了特定版本的libpng,可以通过其他方式,如源代码分析、日志记录、代码注释等进行进一步调查。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

苹果在 iOS 10.1 和 macOS 10.12 中使用了 Swift

这可以通过otool使用 -L 选项命令行工具轻松完成: -L 显示目标文件使用共享库名称和版本号,如果文件是共享库,则显示共享库 ID。... PIPAgent 应用程序运行此命令时: otool -L /System/Library/CoreServices/PIPAgent.app/Contents/MacOS/PIPAgent |...Apple macOS 10.12.1 中使用 Swift macOS 10.12.1 运行脚本将为您提供以下二进制文件列表: /Applications/Utilities/Console.app... iOS 10.1 ,只有 2 个应用程序和 2 个使用 Swift 私有框架: 计算器(仅限 iPhone) 音乐 UpNextWidget.framework CoreKnowledge.framework... macOS 10.12.1 使用 Swift 应用程序列表仅限于: 控制台 swift swiftc 用户提示 程序坞(Dock) 捷径 通知中心 OSDUIHelper PIPAgent

1.5K20
  • 动态库

    ,根据路径找不到动态库. otool -l test | grep 'DYLIB' -> 查看动态库路径 otool -l test | grep 'DYLIB' -A 5 -> -A 查找时多显示5...-> 动态库Macho文件Load_Command去保存自己路径 进入动态库目录 -> otool -l TestExample | grep 'ID' -A 5 A 是向下 B是向下显示 LC_ID_DYLIB...可执行文件为什么能够使用动态库 -> 因为动态库暴露了自己导出符号给可执行文件 但是最里层动态库对于最外层可执行文件,其导出符号是否暴露呢 查看最里层导出符号表 -> objdump --...它作用是用于记录动态库一些信息, 包括导出符号, 动态库架构信息, 动态库依赖信息. 用于避免真机开发过程中直接使用传统dylib....对于真机来说, 由于动态库都是设备, Xcode使用基于tdb格式伪framework可以大大减少Xcode大小.

    1.1K30

    macOS 开发中动态库问题剖析

    图片动态库几个关键信息什么是install_name macOS,install name 是一个内嵌到动态库中路径名,它作用是runtime时候告诉链接器从哪里可以找到它; 链接时候,...@rpath只有苹果macOS X 10.5 及以上才能用修改xcode相关配置图片实操引用第三方动态库-Graphviz项目中想使用graphviz中生成dot图功能,根据官方一些资料,这个功能集成.../include下面为了同一个项目中工作开发同学都使用同一个版本动态库,避免大家各自安装,导致版本不一致;要把Graphviz用到动态库放到开发工程目录下,保证多人协作使用都是同一个动态库,那么如果只是单纯地把动态库拷贝过去...分析动态库依赖把libcgraph.6.dylib拷到项目中之后,终端使用otool -L libcgraph.6.dylibotoolotool 是一个命令行工具,用于查看macOS可执行文件或者是动态...graphviz或者是版本不是2.49.3),就会出现dyld: Library not loaded:libcgraph.6.dylib中使用了libcdt.5.dylib和libSystem.B.dylib

    3.2K123

    动态库详解

    ,根据路径找不到动态库. otool -l test | grep 'DYLIB' -> 查看动态库路径 otool -l test | grep 'DYLIB' -A 5 -> -A 查找时多显示5...-> 动态库Macho文件Load_Command去保存自己路径 进入动态库目录 -> otool -l TestExample | grep 'ID' -A 5 A 是向下 B是向下显示 LC_ID_DYLIB...可执行文件为什么能够使用动态库 -> 因为动态库暴露了自己导出符号给可执行文件 但是最里层动态库对于最外层可执行文件,其导出符号是否暴露呢 查看最里层导出符号表 -> objdump --...它作用是用于记录动态库一些信息, 包括导出符号, 动态库架构信息, 动态库依赖信息. 用于避免真机开发过程中直接使用传统dylib....对于真机来说, 由于动态库都是设备, Xcode使用基于tdb格式伪framework可以大大减少Xcode大小.

    89020

    将dylib库嵌入macOS应用方法

    而这次是macOS使用库,本身已经用brew安装过,所以本机调试没有发现这个问题。 等到拷贝到用户机器,突然发现程序无法启动,查看log才发现库没有找到。...官方推荐解决方法是将库文件及头文件打包编译为Frameworks,随后引入到项目中。不过对于很多gnu跨平台程序员,肯定希望单独为macOS来写一个Xcode工程。...所以我建议还是使用内置工具来修改这个执行路径,步骤如下: 假设我们库文件名为libabc.0.dylib,通常是放置/usr/local/lib文件夹中,为了不影响macOS下面其它应用对这个库调用...使用otool -L libabc.0.dylib命令来查看这个库内置路径名,没有意外的话,应当是/usr/local/lib/libabc.0.dylib。...工程设置General->Embedded Binaries中引入使用库文件libabc.0.dylib,这是保证app编译链接时候能够正常通过。

    3.6K50

    Xcode 常见 CLI 工具

    并且并不是只有开发 Apple 应用程序才需要用到这些工具包,当我们使用Homebrew安装一些python库或者js库时,都会提示需要Command Line Tool。...我们开发者官网 Command Line Tool[1] 对其单独下载,当然每个版本 Xcode 安装包内也会包含这套工具包。...并且还能解决另外问题,就是如果我们装有多个 Xcode,我们使用 CLI 相关工具时,系统就会不知道该去使用哪个版本或者哪个位置 CLI,使用这个工具可以帮助我们设置及切换当前默认使用 CLI。...otool & objdump 为什么要把这两个工具放到一起说呢?因为这两个工具之间有一定关系。其实otool本质就是objdump一层 wrapper,底层其实都是使用objdump实现。...-m 变更成员文件备存文件中次序。 -p 显示备存文件中成员文件内容。 -q 将问家附加在备存文件末端。 -r 将文件插入备存文件中。 -t 显示备存文件中所包含文件。

    3.4K21

    ios重签名教程

    越狱 手机型号iphone6 手机版本:12.4.5 工具:爱思助手 因为我版本是12.4.5以选择CheckRa1n越狱 CheckRa1n越狱 重启后需要在越狱一遍 如果是其他版本查看爱思助手是否支持...iOS设备版本安装对应frida服务端 选择安装 我选择是frida for pre-A12,iPhone6s是A9处理器 frida使用 查看frida版本号 正确显示版本号说明正确安装了 ~...-l 可执行文件 | grep crypt /xx.app» otool -l xx | grep crypt cryptoff 16384 cryptsize 38797312...版本号打卡appstorexcode介绍页-选择版本历史记录 如我电脑版本macos Catalina 10.15.6可以下载xcode11.7版本 下载成功后是个Xcode_11.7.xip...,主要注意点是,要在xcode创建项目,正常运行安装到手机 可能会遇到id重复,修改下id就可以了 对应真机版本不一致General-Deployment Info 中修改就可以 id重复了

    1.4K30

    iOS逆向之app脱壳

    注意,对于macOSApp,苹果官方是不会对其进行加壳。所以分析macOS App不需要执行脱壳操作。 判断是否加壳 网上有很多文章介绍如何判断iOS App是否被加壳。...使用otool检测 otool是Xcode自带命令行工具,安装了XcodemacOS系统不需要额外安装otool使用otool的如下命令可以检测App是否被加壳。...如下: otool -l mach-O文件 | grep crypt 例如: 图片 image.png 如上:TEST是笔者App已经脱壳可执行文件。...笔者越狱iPhone是64位,iOS 版本是10.13.5,所以下载并安装了Frida for pre-A12 devices 3.Macgithub上下载Frida-ios-dump:https...合并和分离二进制文件时候,我们通常使用lipo命令。lipo是macOS自带工具,其功能非常强大。

    12.5K20

    【投稿】如何制作一个*-syscrate

    可选从源码编译。 导出 C 头文件。 sys crate 该做事 别在 Cargo 专用输出目录 (OUT_DIR)之外写文件。需要强调是,也别尝试系统安装什么包。...没有安装 Homebrew 和 相同版本类库其他设备上会报错崩溃。所以当你使用 pkg-config 时候,默认静态链接吧。 Windows ,则有 vcpkg,但是它大多不可用。...macOS - 默认使用静态链接,除非你写是一个随系统一起分发类库 sys crate。macOS ,对程序有强烈开箱即用期望,不用安装任何依赖。...你可能得检查(Linux: ldd, macOS: otool -L, Windows: dumpbin /dependents)并规避它。...交叉编译 Rust 能为当前平台之外系统构建执行文件和类库,例如: macOS 构建程序,或者64位系统构建32位类库。 你 build.rs 程序可能跑在编译环境之外平台上。

    1.4K40

    xmake v2.5.1 发布, 支持 Apple Silicon 并改进 CC++ 包依赖管理

    这是 xmake 今年首个版本,也是完全适配支持 Apple Silicon (macOS ARM) 设备首个版本。...什么意思呢,比如我们项目中集成使用 libpng 这个包,并且使用了动态库版本,但是 libpng 内部依赖 zlib 库其实还是静态库版本。...支持 windows 安装部署 Qt 程序 非常感谢 @SirLynix 贡献,xmake 已经可以支持 windows 上部署安装 Qt 应用程序。...语言 macOS 支持 #1135: 针对特定 target 改进多平台多工具链同时配置支持 #1153: 改进 llvm 工具链,针对 macos 编译增加 isysroot 支持 #1071...: 修复 vsxmake 插件中配置路径被截断问题 #1142: 修复安装包时候,出现git找不到问题 修复 macOS Big Sur macos.version 问题 #1084: 修复 add_defines

    94320

    XCode日常使用备忘录

    Introduction        XCode是macOS开发app不可缺少开发者工具,不管是开发macOS应用,还是iOS应用,都离不开XCode环境。...尽管其易用性广受诟病,但由于苹果app开发封闭性,众多开发者也有苦不能言。...对于XCode使用更是如此。在此记录下平时开发过程中经常用操作,以免自己再次切换到macOS时一脸懵逼。 1....通过命令otool -L可查看dylib文件install name确实已经设置成了我们需要值。其中:-L选项打印dylib使用库,-D打印dylib文件ID名。...DWARF with dSYM 选项标准DWARF之外执行一个额外步骤:创建一个单独MyApp.app.dSYM文件,这个文件包含你程序所有调试符号(这个文件其实是一个包,可以通过右键->显示包内容进行查看

    1.8K90

    Tina Linux中常见库类型和作用

    libnl是一个用于处理netlink套接字应用程序库,例如检索或更改路由信息、接口设置,并且与内核通信时使用得更为广泛。...2.23.so glibc glibc中包含库,让程序在运行时加载和使用库代码而无须在编译时链接库 libnsl-2.23.so glibc glibc中包含库,提供了libnsl库版本,用于访问...libnl是一个用于处理netlink套接字应用程序库,例如检索或更改路由信息、接口设置,并且与内核通信时使用得更为广泛。...2.23.so glibc glibc中包含库,让程序在运行时加载和使用库代码而无须在编译时链接库 libnsl-2.23.so glibc glibc中包含库,提供了libnsl库版本,用于访问...libnl是一个用于处理netlink套接字应用程序库,例如检索或更改路由信息、接口设置,并且与内核通信时使用得更为广泛。

    32910

    减包-删除无用代码

    此工具会使用 git 主流图片压缩方法尝试一遍,选择最优方案。 1.3. 纯色图片使用代码生成 如果项目中纯色图片比较多,可以考虑使用代码替代,生成后缓存到本地以供后期使用。 1.4....这个选项会开启那些增加代码大小全部优化,并让可执行文件尽可能小。...Strip Debug Symbols During Copy 和 Symbols Hidden by Default release版本应该设为yes,可以去除不必要调试符号。...调试符号文件) 可执行文件(没有扩展名) dyld(动态链接器,一个特殊可执行文件) MachO 查看工具:OTool 与 MachOView: OToolmacOS 自带 MachO 文件查看工具...__objc_superrefs Objective-C 超类引用 三、利用Otool工具查找无用代码 OToolmacOS 自带 MachO 文件查看工具,基于命令行,可以通过不同命令参数快速地查看

    1.4K30

    一个静态注入动态库工具: luject

    另外luject也实现了对iosipa包,androidapk包自己macOS.app包动态库注入,重打包和重签名支持。.../test 不过这种方式ios也需要越狱后才可用,另外我们也可以工程Build Settings中找到Other Linker Flages 并添加下面的字段来限制这种加载方式,实现对可执行程序注入保护.../ldd等工具也查看验证加载列表: $ otool -L libdemo.dylib libdemo.dylib: @loader_path/libtest.dylib (compatibility...一种就是xcode里面查看,另外xmake也提供了一些辅助工具可以dump出当前可用所有签名配置: $ xmake l private.tools.codesign.dump ===========...] [mobile_provision] [bundle_identifier] 其中,后面的签名参数都是可选,如果没设置,那么默认会探测使用一个有效签名: $ xmake l utils.ipa.resign

    1.5K10

    使用 vfox-erlang 安装管理多个 ErlangOTP 版本

    官方文档也给出了一份基准测试, 参见 《Comparison with asdf-vm》: vfox-erlang 使用 本篇文章主要介绍怎么使用 vfox-erlang 插件, 同一台机器管理多个...目前插件实现实际安装过程是通过从源码进行编译安装 Erlang/OTP , 所以暂时只支持 Unix-like 系统 (比如 ubuntu、macos darwin 等) 安装管理 Erlang.../OTP 版本 (官方其实提供了 exe 安装器 windows, 还没时间去研究加上去 2333~, 不过 windows 使用 Erlang 场景一般也比较少)。...安装 vfox 和 vfox-erlang 插件 使用 vfox-erlang 管理 Erlang/OTP 版本之前, 请确保你已经在你机器安装好了 vfox, 可以参考官方文档 Quick Start...本篇文章使用示例主要以 Linux 系统为主, 但是 vfox-erlang 使用文档也给出了 MacOS Darwin 系统下使用指南 install-in-darwin-macos-13,

    10210

    实现用VB.Net(C#)开发K3 BOS 插件真正可行方法

    、C#)开发DLL是跑.net CLR中间二进制字节码以及其他一些有自描述功能元数据组成,它不符合COM+规范,金蝶K/3及BOS都是用VB6开发而来,EAS那就另当别论了,所以BOS插件说白了也是...VB6调用符合COM规范DLL,它原理就是原程序里(宿主)先导入放在BOS插件dll然后直接Byref调用Public Sub Show(Byval XXX as Object) 来把需要编程对象传递过来...、类名、使用.Net Frame版本为3.5 2.0也可以,此测试语言我选VB,当然C#也可以,本人是basic忠实者!...= oMenuBar.BOSTools.Add("shangla")             With oTool                 .Caption = "拉"                ...开发环境下调用 这个注册后dll即可 因为我建了一个窗体 所以多了一个 form这项 有没有看多出工具栏这几项菜单 拉 斗地主 信息 点[拉]出现事件 如下图 Select Case BOSTool.ToolName

    1.4K10

    iOS 了解Xcode Bitcode

    包含Bitcode可以不提交新版本App情况下,允许Apple将来时候再次优化你App 二进制文件。...那么如果我们项目中使用某些Framework或.a时候,遇到了类似笔者遇到错误时候,我们就需要查看所用Framework或.a是否支持bitcode。...我们可以使用otool查看framework或者.a 是否支持设置Enable Bitcode为YES,终端中使用如下命令查看: otool -l framwork路径下实体文件 | grep __...或者.a 文件支持设置 Enable bitcode为YES; 使用framework或者.a 文件支持架构是齐全; 那么为什么有些framework没有做成支持Enable bitcode方式呢...32位微处理器,iPhone 5S及之后都是64位微处理器 模拟器使用CPU情况由所用电脑确定 CPU iPhone i386 32 位微处理器 x86_64 64 位微处理器

    89020

    移动安全渗透测试清单 2022

    使用命令行应用程序,可分析 .apk 文件以查找漏洞。...、Frida 工具包使用客户端-服务器模型工作,让您不仅可以 Android 注入正在运行进程,还可以 iOS、Windows 和 Mac 注入运行进程 https://www.frida.re...http://www.i-funbox.com/ 逆向工程和静态分析 1、otool 命令显示目标文件或库指定部分 http://www.unix.com/man-page/osx/1/otool/...动态和运行时分析 1、Cycript 允许开发人员通过具有语法突出显示和选项卡补全功能交互式控制台,使用 Objective-C++ 和 JavaScript 语法混合体来探索和修改 iOS 或...Mac OS X 正在运行应用程序 http://www.cycript.org/ 2、Frida-cycript 这是 Cycript 一个分支,我们将其运行时替换为由 Frida 提供支持名为

    2.1K10
    领券