相关疑难解决方法(0)

适用于Mac OS X的类似readelf的工具?

是否有用于读取Mac OS X二进制文件的工具,该工具将打印有关此readelf输出的重定位表和符号偏移的信息?

readelf -r app

Relocation section '.rel.dyn' at offset 0x5ec contains 2 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
08049d58  00001706 R_386_GLOB_DAT    00000000   __gmon_start__
08049d60  00000305 R_386_COPY        08049d60   _ZSt4cout

Relocation section '.rel.plt' at offset 0x5fc contains 13 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
08049d24  00000107 R_386_JUMP_SLOT   0804868c   print
08049d28  00000207 R_386_JUMP_SLOT   0804869c   _ZNSt8ios_base4InitC1E
08049d2c  00000507 R_386_JUMP_SLOT   080486ac   _ZStlsISt11char_traits
08049d30  00000607 R_386_JUMP_SLOT   080486bc   _ZNSolsEPFRSoS_E
08049d34  00000707 R_386_JUMP_SLOT   08048664   _init
08049d38  00000807 R_386_JUMP_SLOT   080486dc   sleep
08049d3c  00000907 …
Run Code Online (Sandbox Code Playgroud)

c macos symbols function

51
推荐指数
5
解决办法
4万
查看次数

在Mac OS X上组装项目时出错"没有这样的指令"

我使用自制软件来安装GCC 4.7.0,我的项目的make在汇编时失败了.我可以成功地从.c - > .s中获取代码,但是.s - > .o失败了.

要查看用于安装GCC的brew配方,请查看:https://github.com/Homebrew/homebrew-dupes/blob/master/gcc.rb.我还使用https://github.com/mxcl/homebrew/blob/master/Library/Formula/binutils.rb从上游安装了binutils .安装binutils似乎没有在/ usr/local/lib或类似的地方引入新的'as'.

如何找到这个缺失的指令错误?看起来编译器是正确的,但链接器根本不支持这些指令.说明似乎是矢量指令.

xavierlange $> make suricata.o
/usr/local/bin/gcc-4.7 -DHAVE_CONFIG_H -I. -I..  -I../libhtp  -I/opt/local/include  -v -Wextra -Wall -fno-strict-aliasing -fno-tree-pre -Wno-unused-parameter -std=gnu99 -DOS_DARWIN -march=native   -DLIBPCAP_VERSION_MAJOR=1 -DHAVE_PCAP_SET_BUFF -DUNITTESTS -DREVISION="61d5fe3" -MT suricata.o -MD -MP -MF .deps/suricata.Tpo -c -o suricata.o suricata.c
Using built-in specs.
COLLECT_GCC=/usr/local/bin/gcc-4.7
Target: x86_64-apple-darwin11.3.0
Configured with: ../configure --enable-languages=c,c++,fortran,java,objc,obj-c++ --prefix=/usr/local/Cellar/gcc/4.7.0/gcc --datarootdir=/usr/local/Cellar/gcc/4.7.0/share --bindir=/usr/local/Cellar/gcc/4.7.0/bin --program-suffix=-4.7 --with-gmp=/usr/local/Cellar/gmp/5.0.4 --with-mpfr=/usr/local/Cellar/mpfr/3.1.0 --with-mpc=/usr/local/Cellar/libmpc/0.9 --with-system-zlib --enable-stage1-checking --enable-plugin --enable-lto --disable-multilib --disable-nls
Thread model: posix
gcc version 4.7.0 …
Run Code Online (Sandbox Code Playgroud)

macos assembly gcc gnu-assembler osx-lion

20
推荐指数
2
解决办法
2万
查看次数

在OSX上加载/执行ELF文件的可能性

我只是想知道在OSX上加载和执行elf文件的可能性.我知道标准的可执行格式是MACHO,但是NASM无法为MACHO对象生成调试信息(我需要使用NASM).我想它是一个很长的镜头,但我不认为我可以使用ELF文件.我可以使用NASM构建它们,但我似乎甚至无法将它们与LD连接起来.

macos operating-system nasm

15
推荐指数
2
解决办法
9259
查看次数

Linux上的工具读取/转储MachO文件?

Linux上是否有可用于读取/转储/分析MachO文件的工具?喜欢的东西,readelf或者objdump只是针对MachO格式?这必须在Linux上运行.

linux macos mach-o ios

7
推荐指数
1
解决办法
5235
查看次数

在 macOS 上检查 ELF 文件并获取二进制文件

我有一个 ELF 文件,我想从中获取我的代码的hex或文件。bin在终端中,如果 a do a file main,这是我的文件,它会显示:

main: ELF 32-bit LSB executable, UCB RISC-V, version 1 (SYSV), statically linked, not stripped
Run Code Online (Sandbox Code Playgroud)

据我所知,objdump在 macOS 上不起作用,并且otool -l main出现以下错误:

llvm-objdump: 'main': Object is not a Mach-O file type.
Run Code Online (Sandbox Code Playgroud)

ELF 文件是使用以下命令创建的:

riscv-none-gcc/8.2.0-2.1-20190425-1021/bin/riscv-none-embed-gcc --specs=nosys.specs main.c -o main
Run Code Online (Sandbox Code Playgroud)

那么有没有办法做到呢?

多谢

binary macos elf otool binutils

4
推荐指数
1
解决办法
6989
查看次数