达尔文使用的可执行文件格式。
假设我有一个为多种架构(例如armv7、armv7s、i386、x86_64、arm64)构建的.a fat库。库是为 iOS 构建的(有 cmd LC_VERSION_MIN_IPHONEOS 和版本 6...
为什么使用 ADRP、ADD 和 LDR 指令加载的数据比预期的要大?
我正在学习 Apple M1 arm64 的汇编,并注意到尝试从数据段上的标签加载数据时出现一些奇怪的情况。它似乎正在加载内容而不仅仅是我要求的标签......
我已经编译好了 #包括 int main() { printf("你好世界"); 返回0; } 在 Mac 上,它的大小为 48k。然而,当我用 xxd 查看二进制文件时,大部分看起来......
从arm64反编译代码时,如何知道无条件分支指令b是否分支到同一函数中的标签而不是其他函数? 最先进的技术如何分解...
有没有一种方法可以在一般情况下结合 ELF、Mach-O 和 PE 编译代码,这样所有现代系统都可以有一个“二进制”文件? (Windows、macOS、Linux) 我记得有一些古老的故事
我正在尝试通过将所有对象文件组合成一个 .o 文件来减少包含大量(~3000)小对象文件(.o)的大型静态库 libIn.a 的磁盘大小;据我所知...
我想获取 mach-o 可执行文件的入口点地址。 我读过 otool(-l 选项)命令能够向我们展示 mach-o 入口点。 我试过了,但我没有看到入口点。我有
我有一个目标文件 sample.o,其大小为 29141616 字节(~28MB)。我在 macOS 上。 但是当我使用 objdump -h sample.o 检查它的部分时,总大小加起来只有 8566592 字节(~8MB)....
如何在iOS二进制文件中打印所有Objective-C类的名称?
我想使用“ otool”或“ objcdump”打印在iOS二进制文件中找到的所有Objective-C类的名称。我在未加密的iOS二进制文件macOS上执行此操作。我试过的:解决方案...
在Mach-O可执行文件中,我正在尝试使用自产工具增加__LINKEDIT段之前的__LLVM段的大小。我正在考虑两种策略:(a)移动__LLVM ...
我如何仅使用普通的Apple ID帐户签署dylib? (尚无开发者帐户)
我有一个dylib,为了使其能够在我的机器上运行,我不得不在xcode的目标设置中禁用库验证。是否可以在没有付费开发商的情况下将其签名...
我尝试在Xcode构建设置中为Mach-O类型创建带有可重定位目标文件的Objective-C框架。当我构建框架时,命令Ld失败,出现非零退出代码错误。...
达尔文10.15上的自修改代码导致“格式错误的mach-o图像”?
我有一个程序会生成自我修改的代码(如果您有兴趣,请参阅https://tigress.wtf/selfModify.html)。它可以在x86 Darwin和Linux上运行。在达尔文上,我使用gcc -g -segprot ...
分支重定位中不受支持的符号修饰符:“调用printf @ PLT”
我正在遵循C编译器的编写过程,以生成用于评估二进制表达式值的汇编代码。这是out汇编代码(保存在文件“ out.s”中):.text LC0:.string“%d \ n” ...
在运行时,我试图恢复一个未导出的函数的地址,但可以通过共享库的符号表使用它,因此对调试器可见。我需要传达...
因此,我正在Mac上学习x86_64 nasm程序集,这很有趣。在hello world和一些基本的算法之后,我尝试从该站点复制一个稍微高级些的hello world程序并将其修改为64 ...
我尝试了这一点,我注意到的Mach-O头的标志部分,我想知道它的所作所为。我试着用搜索引擎,并发现大量引用到它,但没有解释什么标志?
我试图在我的项目中添加一个testunit目标,但失败了很多。我的测试单元需要libxml2.dylib(实际上是libxml2.2.dylib),当然还有sentestingkit.framework。我添加了libxml2 ....
如何从__TEXT中分割成一个mach-o二进制文件的新段?
如何将部分移出__TEXT段并进入mach-o二进制文件的新段?我问的原因是我试图让我的iPhone应用程序变小,iOS App Store加密...
我试图得到我的iOS应用程序的Mach-O可执行文件的.text段大小。 size_t size_of_image(struct mach_header * header){size_t sz = sizeof(* header); //标题的大小sz + =标题 - > ...