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

当试图在macOS 11.1上“运行”arm64二进制文件时,lldb显示"attach failed“。

在macOS 11.1上,当尝试在arm64架构上运行二进制文件时,lldb可能会显示"attach failed"。这是由于lldb无法附加到arm64二进制文件的原因。lldb是macOS上的调试器工具,用于调试应用程序和二进制文件。

要解决这个问题,可以尝试以下几个步骤:

  1. 确认二进制文件是否适用于arm64架构:首先,确保二进制文件是为arm64架构编译的。可以使用file命令检查二进制文件的架构信息。如果二进制文件不是arm64架构,可能需要重新编译或获取适用于arm64的版本。
  2. 检查lldb版本:确保使用的lldb版本与macOS 11.1兼容。可以尝试更新lldb到最新版本,或者查看lldb的官方文档以获取与macOS 11.1兼容的版本信息。
  3. 检查调试权限:在macOS上,调试需要特定的权限。确保当前用户具有足够的权限来附加到二进制文件。可以尝试使用sudo命令以管理员身份运行lldb,或者检查系统设置中的安全与隐私选项,确保调试权限已启用。
  4. 检查二进制文件的完整性:如果二进制文件已损坏或不完整,lldb可能无法附加到它。可以尝试重新下载或获取二进制文件的正确版本,并确保其完整性。

总结起来,当在macOS 11.1上尝试在arm64架构上运行二进制文件时,lldb显示"attach failed"可能是由于以下原因之一:二进制文件不适用于arm64架构、lldb版本不兼容、调试权限不足、二进制文件损坏。根据具体情况,可以采取相应的措施来解决问题。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云调试器(LLDB):https://cloud.tencent.com/product/lldb
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

分析 2022 年的第一个 (macOS) 恶意软件

弹出到 VirusTotal,我们可以获取恶意二进制文件的副本,并注意到它首次提交2021-12-21检测为 0: image.png SysJoker (macOS)......WhatsYourSign,我的开源实用程序通过 UI 显示代码签名信息,显示二进制文件已签名,尽管是通过临时签名: image.png SysJoker 签名,虽然是临时的 您还可以使用 macOS...并且,RunAtLoad密钥设置为true,每次用户登录恶意软件都会重新启动。...export=download&id=1W64PQQxrwY3XjBnv_QAeBQu-ePr537eu 由于我们安装了免费的 macOS 防火墙LuLu,因此恶意软件尝试访问并下载此文件,...该函数调用: unzip -o 解压缩可执行文件, chmod 0777 更改权限(现在解压缩的可执行文件) system 执行二进制文件

1.1K00

免越狱调试与分析黑盒iOS应用

上篇文章我们从开发者的角度介绍了如何建立iOS项目并且真机上运行上篇文章则介绍了Objective-C的基本概念和用法。而这一切,都是为了这次的铺垫。...获取目标 在上篇文章中其实有说了,开发者在编译iOS或者MacOS项目,最终生成的应该是.app文件, 但在iOS中还需要对app文件进行打包,生成.ipa文件。...为了应用中执行我们自己的代码,我们可以直接修改二进制的2048.app/2048文件, 毕竟,它只是一个运行于ARM平台的普通Mach-O文件而已: $ file pp2048/Payload/2048...交叉编译 现在我们已经(Mac)验证了向二进制文件中注入动态库的可行性,接下来就是iOS了。 和Mac不同的是,iOS应用一般是ARM/ARM64版本,因此x86的笔记本,就需要交叉编译。...lldb 刚刚启动我们使用了ios-deploy的--debug参数来启动lldbserver/client 并自动attachlldb是LLVM中功能强大的调试器,功能与gdb类似,如下: (lldb

1.6K40

如何在Electra越狱的设备使用LLDB调试应用程序

此时,debugserver二进制文件应该已经存在。 通过USB进行调试 对我而言,它只我通过USB进行调试才有效。如果Mac未安装iproxy,请通过brew进行安装: ?...然后Mac控制台中运行: ? 最后,将iPhone连接到USB。就是这样,我们准备开始。 将LLDB attach到已经运行的进程 在你的Mac控制台上,连接iPhone: ?...iPhone的控制台中运行 ? 找到你想要attach的进程的pid。然后运行 ? 如果你看到和我类似的内容 ? 则表明运行一切正常。现在,Mac打开另一个控制台,然后运行 ?...现在,Mac打开另一个控制台,然后运行 ? LLDB控制台中运行 ? 重要提示!...如果你遇到了错误则, 没有调试器的情况下运行应用程序 如前一节所述,将调试器attach到应用程序 关闭(LLDB)应用程序 尝试调试器下再次运行应用程序 *参考来源:kov4l3nko,FB小编

2.3K40

汇编寄存器的规则

另外,较旧的 Mac 使用 32 位架构,但是 Apple 2010 年底停止生产 32 位 Mac。 macOS运行的程序可能是 64 位兼容的,包括 Simulator 的程序。...如果对使用的硬件架构有疑问,可以终端中运行以下命令来获取计算机的硬件架构: uname -m 能耗要求很高的移动设备(如 iPhone)使用 ARM64 体系结构。...这是与之前显示的方法相同的屏幕截图,除了这次是 iPhone 7 ARM64 程序集中: 您现在可能无法区分这两种架构,但是您很快就会知道它们就像手背一样....这意味着 Swift 调用函数,先前分配给选择器的 RSI 寄存器实际就是函数的第二个参数。好了,足够的理论 - 是时候将其付诸实践了。...lldb -n SpringBoard 这样会将 LLDB 绑定到正在模拟器运行的 SpringBoard 实例!SpringBoard 就是 iOS 控制主屏幕的程序。

2.4K50

如何创建可在 Apple 自研芯片和基于 Intel 的 Mac 机上运行的应用程序

#endif 如果在 iOS 和 macOS 应用之间共享代码,不要以为用于 arm64 架构的代码仅在 iOS 设备运行,该代码也可以 基于 Apple 芯片macOS 应用中运行,要区分...尽管您可以基于 Intel 的 Mac 计算机上创建此二进制文件,但是无法 arm64 架构运行或者调试,只有具有 Apple 芯片的 Mac 才能运行和调试。...您构建通用二进制文件,Xcode 会两次编译您的源文件,每种架构一次,Link 每种架构的二进制文件后,Xcode 使用 lipo 工具将特定架构的二进制文件合并到单个可执行文件中。... Apple 芯片,系统倾向于 arm64 架构执行。用户可以通过 Finder 的 "显示简介" 窗口中启用相应的选项,来强制系统 Rosetta 转换下运行该应用程序。...其设置为 YES ,系统会阻止您的应用在转换后运行。另外,系统还会从您应用的 "显示简介" 窗口中删除 Rosetta 转换选项。

2.2K30

Voltron:一款功能强大的可扩展调试器UI工具包

Voltron可以通过调试器来获取和显示数据,并通过在其他TTY中运行这些视图来帮助构建一个定制的调试器用户界面,以满足广大安全测试人员的需求。...工具内置视图可用于: 注册表 反汇编 堆栈 内存 断点 回溯 工具支持 Voltron支持LLDB、GDB、VDB和WinDbg/CBD,可以macOS、Linux和Windows平台上运行。...并支持下列系统架构: lldb gdb vdb windbg x86 ✓ ✓ ✓ ✓ x86_64 ✓ ✓ ✓ ✓ arm ✓ ✓ ✓ ✗ arm64 ✓ ✗ ✗ ✗ powerpc ✗ ✓ ✗ ✗.../install.sh -v /path/to/venv -b lldb 工具使用 如果你的调试器提供了初始化脚本,可以直接配置其启动(entry.py入口点脚本)加载Voltron。...比如说macOS,脚本路径为“/Library/Python/2.7/site-packages/voltron/entry.py”,install.sh脚本会将其添加进GDB和LLDB的相关路径中

1.1K10

从微信扔骰子看iOS应用安全与逆向分析

还是以微信为例,主程序解密后单 arm64 架构的可执行文件就有 218 MB,即便在逆向工具里分析也会让人无从下手。这时候就需要一个入手点,用互联网的黑话来说,就是需要一个抓手。...花开两朵,各表一枝,在前面砸完壳的第一间我就预感到需要逆向,所以早早地把 200MB 的 MachO 丢进了 IDA,文章写到这里已经过去了四个小时,期间看了两集动漫,但是 IDA 还是没有全部分析完...ida.png 在上面高亮的一行,IDA 反编译的结果有点问题,显示 V7 是未初始化的,遇到这种情况直接看汇编即可,汇编是不会骗人的: asm 即第一个参数实际是 PluginUtil 类的地址,...瘦身 Mach-O程序是支持多架构的,例如同一个程序既能运行在arm32位也能运行在64位机器。...基于 Substrate 开发的 dylib 称为 Tweak,由 Substrate 根据 plist 应用启动选择进行注入。

1.9K40

使用Zigarm64引导Uber的基础设施

cc 提供支持; 一些 arm64 硬件运行的核心基础设施服务,为未来的扩展提供了可能性。...主机(host)是指编译二进制文件的机器。 目标平台(target)是指运行二进制文件的机器。 进行原生编译,主机和目标是相同的平台(即操作系统、处理器架构和共享库是相同的)。...进行交叉编译,主机和目标是不同的平台(例如,从 macOS arm64 (M1) 编译成 x86_64 Linux)。有时候,目标机器可能无法编译代码,但可以运行。...撰写本文,GCC 和 LLVM 都不能交叉编译 macOS 二进制文件。因此,我们维护了一个专门的构建集群来编译 macOS 目标平台。...虽然可以 arm64 硬件运行我们的核心基础设施,但我们还没有准备好运行面向客户的应用程序。我们的下一步是 arm64 试验面向客户的应用程序,这样就可以测试它的性能并决定未来的方向。

28930

现今 Swift 包中的二进制目标

这些被扩展(或增大)的可执行文件,是包含了为多个不同架构原生构建的切片。这允许库的所有者分发一个运行在所有预期的目标架构的单独的二进制。...源码不能被暴露或处理非常庞大的代码仓库,预编译库成为可执行文件非常有意义,因为预编译源码以及以二进制文件分发他们,将节省构建程序在他们的应用上的构建时间。...事实,如果我们需要,我们可以走得更远,例如,同一个 xcframework 中捆绑一个包含 iOS 目标的 UIKit 接口的二进制文件和一个包含 macOS 的 AppKit 接口的二进制文件,然后让...由于很多人都非常渴望让这个插件在他们的 SwiftPM 项目中运行,我认为这将是一个很好的例子来展示我们如何将分发的可执行文件从他们的发布页面变成一个与 macOS 架构和 Linux arm64 兼容的工件包...在这种情况下,为这两个命令运行它会显示: swiftlint-macos/swiftlint swiftlint: Mach-O universal binary with 2 architectures

1.8K20

iOS逆向工程工具集

本篇文章是我在学习逆向工程整理的逆向工程工具集 只作为记录使用 并不是详细的教程 阅读本篇教程需要你有一定逆向工程知识 一,Cycript 介绍 iOS运行时工具 可hook运行时进程 并提供了以下能力...1,开发者可以应用运行时查看和修改应用 得到所有正在使用的类名或方法名 2,运行时修改实例变量的值 3,Method Swizzling,替换特定方法的实现 4,运行时调用任意代码 当然Cycript...压缩文件 arm64根据手机指定 lipo -thin arm64 ~/debugserver -output ~/debugserver 3,给debug server添加task_for_pid权限...server指定的端口一致) 五,dyld_decache 提取iOS系统内的二进制文件 从iOS 3.1开始,包括frameworks在内的许多库文件被放入了位于“/System/Library/Caches...dyld_shared_cache_armx” (dyld_shared_cache_armv7,dyld_shared_cache_armv7s,dyld_shared_cache_arm64),可使用dyld_decache将其中的二进制文件提取出来

94310

mac os 中解密 WeChat DB

先来了解一下有哪些DB 和 db对应的作用 这里主要会使用到msg_x.db, wccontact_new2.db, group_new.db Msg_1|2|3|4.db …… 这些是把聊天信息分割后生成的文件...本次需要使用到的工具:lldb,DB Browser for SQLite, wechat 注意: 如果有小伙伴的mac book 一会儿运行lldb之后出现error: attach failed...csrutil 的开启是为了提供系统完整性保护 关闭了之后我们就能使用lldb 对wechat进行调试。 搞事部分 1. 运行微信的记得退出微信先。...sqlite3_key | br set -n sqlite3_key | br s -n sqlite3_key br s -n 的意思就是sqlite3_key的地方下断点 | 分割多种写法 然后...continue 一下 5.点击登陆,并在我们的手机上进行确认登陆 6.这个时候断点就生效了,程序会保持刚才那个登陆确认的页面上,然后我们lldb就能够看到显示的汇编指令,可以看到最后一行是把

4.4K40

2019年3月21日 Go生态洞察:Go 1.12中调试你部署的代码

引言 Go 1.11和Go 1.12使开发者能够调试他们部署到生产环境中的优化二进制文件方面取得了重大进展。随着Go编译器产生更快二进制文件方面变得越来越积极,我们可调试性方面失去了一些优势。...Go 1.10中,用户需要完全禁用优化,才能从像Delve这样的交互式工具获得良好的调试体验。但用户不应该为了调试而牺牲性能,尤其是在运行生产服务。...1.12和最新的Delve版本中,即使优化后的二进制文件中,你也应该能够检查许多变量。 改进的值检查 Go 1.10中,调试优化后的二进制文件,变量值通常完全不可用。...关于macOS支持的说明 Go 1.11开始压缩调试信息以减小二进制文件的大小。这被Delve原生支持,但LLDB和GDBmacOS不支持压缩调试信息。...如果你正在使用LLDB或GDB,有两种解决方案:使用-ldflags=-compressdwarf=false构建二进制文件,或使用splitdwarf(go get golang.org/x/tools

8810

LLDB实战之导出Mac微信备份聊天记录的SQLite密码(SQLCipher加密)

S Fri04PM 8:36.19 /Applications/WeChat.app/Contents/MacOS/WeChat 进程id是25132 $ lldb -p 25132 //...开始hook进程 (lldb) process attach --pid 25132 Process 25132 stopped * thread #1, queue = 'com.apple.main-thread...0x02 获取sqlite3_key 继续加断点,如果加在sqlite3_key,会发现拿不到PageSize,查看源码看调用链,pageSize是void Database::setCipher(...const void *key, int keySize, int pageSize)的时候接收的,断点打在setCipher (lldb) br set -n setCipher (lldb) c...分析一下表,发现文本内容存在BAK_0_TEXT,媒体内容存在BAK_0_MEDIA,以偏移量记录某条消息,简单查看一下这2个文件,都是写二进制数据,看来还用了某种加密方式。

6K31

XLoader的最新伎俩:新的macOS变体伪装成签名的OfficeNote应用程序

但这样的文件需要Java运行环境,因此恶意的.jar文件不会在默认的macOS安装上执行,因为苹果在十多年前就已停止向Mac提供JRE。这意味着该恶意软件的目标仅限于可选安装Java的环境。...这个代理类似于先前版本的XLoader中所用的代理,为可执行文件提供一个起始值。这确保了二进制文件可以区分它的初始运行和后续运行。...Dropper和有效负载二进制文件试图阻止调试器附加ptrace的PT_DENY_ATTACH (0x1f)。...【XLoader试图阻止分析人员对恶意软件进行逆向工程】 执行时,该恶意软件还会执行睡眠命令来延迟行为,希望欺骗自动分析工具。二进制文件被剥离并显示出高熵,试图以类似的方式阻止静态分析。...【XLoader二进制文件显示了高熵】 结语 研究人员总结道,XLoader将继续对macOS用户和企业构成威胁。这个伪装成办公生产力应用程序的最新迭代表明,其目标显然是工作环境中的用户。

23220

动态库

动态库.dylib.framework编译链接详解 test.m 链接 AFNetworking test.m -> test.o 1. clang -target x86_64-apple-macos11.1undefined-fobjc-arcundefined-isysroot...链接动态库 1. clang -target x86_64-apple-macos11.1undefined-fobjc-arcundefined-isysroot $SYSROOTundefined-L...test | grep 'DYLIB' -A 5 -> -A 查找显示5行 发现根据系统动态库的名字 -> 很像一个路径 -> 我们自定义的动态库的名字孤零零的 -> 动态库路径不对 解决Library...i的参数 添加后可直接运行查看 -> lldb -file test -> r -> q 修改可执行文件的rpath路径 -> install_name_tool -rpath ...用于避免真机开发过程中直接使用传统的dylib. 对于真机来说, 由于动态库都是设备, Xcode使用基于tdb格式的伪framework可以大大减少Xcode的大小.

1.1K30

如何调试Android Native Framework

相反,如果没有行号和源码信息,那么只能进行更低级别的调试了,调试器只能告诉你一些寄存器的值;而当前运行的代码也只是PC寄存器所指向的二进制数据,这些数据要么是虚拟机指令,要么是汇编指令;这就是所谓的无源码调试...上图左边是正在运行的线程的堆栈信息,右边有两个tab,一个用来显示变量的值;一个是lldb交互式调试窗口!...安装Android LLDB工具 要使用lldb进行调试,首先需要在调试设备运行一个lldb-server,这个lldb-server attach到我们需要调试的进程,然后我们的开发机与这个server...: adb push lldb-server /data/local/tmp/ 调试设备运行lldb-server。...shell chmod 777 /data/local/tmp/lldb-server 这样,调试server就在设备运行起来了,注意要这么做需要设备拥有root权限,不然后面无法attach

3.6K20
领券