关于 Mach-O 偏移量和地址的困惑

问题描述

我正在查看 Mach-O 结构,但有一点让我感到困惑。

我了解男子气概文件的基本结构。我正在尝试以编程方式读取第一个 TEXT 段中第一个 TEXT 部分中的字节,并且我有一个指向 Mach-O 标头开头的指针。我正在尝试计算要添加到该指针的适当偏移量,以便它指向 TEXT 部分中的字节。

为了从segments中的section中获取数据,我必须“获取文件中segment命令的偏移量,加上segment结构的大小,然后循环nsects次,将偏移量增加每次的节结构的大小”,如本文中所述:https://h3adsh0tzz.com/2020/01/macho-file-format/

然而,参考同一篇文章,在页面底部的“数据”部分,该文章还提到内存地址是相对于数据的开始而不是Mach-O的开始.在那种情况下,如果它是相对于数据的开始而不是 Mach-O 标头,为什么我们需要计算上面的所有偏移量?

编辑:请注意,我对读取内存和磁盘中的字节很感兴趣。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...