有一个 unix 可执行文件,我想读取该文件的内容。它的格式不可读,需要破译。它没有任何扩展名,当我在终端上对其进行处理时,它的格式不可读。
是否有任何命令可以用来破译它或任何可以提供帮助的工具。请帮忙。
有一个 unix 可执行文件,我想读取该文件的内容。它的格式不可读,需要破译。它没有任何扩展名,当我在终端上对其进行处理时,它的格式不可读。
是否有任何命令可以用来破译它或任何可以提供帮助的工具。请帮忙。
如果它不可读,cat
那么它可能是一种可执行格式,例如,a.out
或者,更有可能是ELF
(尽管它可能是不同的格式)。
如果您的可执行文件是xyzzy
,您应该能够通过使用它来找出它是什么类型file xyzzy
,例如:
pax> file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386,
version 1 (SYSV), dynamically linked
(uses shared libs), for GNU/Linux 2.6.18,
stripped
如果您在网络上搜索该文件格式(例如从此处开始),那么该文件格式已得到很好的记录(例如从此处开始),并且有诸如gcb
、nm
、readelf
之类的工具objdump
可以在不同程度上查看其中的内容,但它可能提供给您的只是原始汇编语言。回到易于理解的源代码将非常困难。
你不需要破译它(除非它有一些二进制级别的混淆,因为它是一个 IOCCC 条目)。你可以使用otool -tv
or来反汇编它,objdump
然后阅读里面的程序做了什么。)