我们有一个旧的AIX服务器,它有一个可执行文件,我们想在linux服务器上重写相同的可执行文件逻辑,所以我们试着读它但找不到办法做到这一点。如果有解密此文件的方法,请告诉我们
$ file execfile
execfile: executable (RISC System/6000) or object module
答案 0 :(得分:0)
IBM RS / 6000具有POWER架构CPU,可能是PowerPC 603或PowerPC 604,或者可能是POWER1,POWER2,POWER3等较新型号之一。最新(当前)系统使用POWER7或POWER8。
无论如何,如果系统上安装了编译器和工具链,那么应该包含一个体面的符号调试器,你应该可以使用它来反汇编任何可执行文件。根据编译的操作系统的确切版本以及使用的编译器,您甚至可以在某些其他操作系统(如MacOS)上使用PowerPC工具,甚至可能在任何类型的系统上使用交叉编译工具链,拆解程序。例如,为PowerPC构建的GDB可能能够反汇编程序。
但是,如果可执行文件已被剥离符号(在AIX系统上通常就是这种情况,IIRC),特别是如果它已经通过编译器的最强大的优化阶段运行,那么你将会丢失很多而你想要做的事情将是不切实际的,需要很多工时才能破译 - 对于任何规模很大的程序来说,确实要花费数千个工时,即使你能雇用某人来帮助熟悉代码生成模式的人使用的特定编译器。
你可能最好不要雇用一名考古学家来帮助你挖掘特定的垃圾填埋场,在那里你可能希望找到清单或备份磁带或CD或包含原始源代码的磁盘或磁盘,或者规范文档等等。程序。严重。
或尝试寻找并(重新)雇用原作者。