有一个unix可执行文件,我想读取该文件的内容。它是一种难以理解的格式,需要进行破译。它没有任何扩展,当我在终端上以一种难以理解的格式对它做一只猫时。
是否有任何可用于解密它的命令或任何可以提供帮助的工具。请帮忙。
答案 0 :(得分:2)
您不需要解密它(除非它有一些二进制级混淆,因为它是IOCCC条目)。您可以使用otool -tv
或objdump
对其进行反汇编,并阅读内部程序的内容。)
答案 1 :(得分:1)
如果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
如果您在网上搜索,该文件格式已有详细记录(例如从here开始),并且有gcb
,nm
,readelf
和{ {1}}可以在不同程度上查看它,但它可能传递给你的是原始汇编语言。回到易于理解的源代码将非常困难。