【问题标题】:Decompile a RISC system/6000 executable file反编译一个RISC系统/6000可执行文件
【发布时间】:2017-01-12 02:25:57
【问题描述】:

我们有一个旧的 AIX 服务器,它有一个可执行文件,我们想在 linux 服务器上重写可执行文件的相同逻辑,所以我们正在尝试读取它,但找不到这样做的方法。你能请告诉我们是否有办法破译此文件

$ file execfile
execfile: executable (RISC System/6000) or object module

【问题讨论】:

  • @Jean-FrançoisFabre 该解决方案不起作用,如果您听说过任何其他选项,请告诉我
  • 也许你可以链接到你的文件,我可以试试。如果可行,我将发布一个包含所用软件的完整参考的答案。
  • 不可能。下次对你的源程序更加小心。
  • @jean-francois Fabre 谢谢你,但我不能这样做,它有很多机密信息

标签: unix aix


【解决方案1】:

IBM RS/6000 有一个 POWER 架构 CPU,可能是 PowerPC 603 或 PowerPC 604,或者可能是 POWER1、POWER2、POWER3 等较新的型号之一。最新的(当前)系统使用 POWER7 或 POWER8。

无论如何,如果系统上安装了编译器和工具链,那么应该包含一个不错的符号调试器,并且您应该能够使用它来反汇编任何可执行文件。根据编译的操作系统版本和使用的编译器,您甚至可以在其他一些操作系统(例如 MacOS)上使用 PowerPC 工具,甚至可能在任何类型的系统上使用交叉编译器工具链, 反汇编程序。例如,为 PowerPC 构建的 GDB 可能能够反汇编程序。

但是,如果可执行文件已被去除符号(在 AIX 系统 IIRC 上通常是这种情况),特别是如果它已通过编译器最强大的优化阶段运行,那么您将非常迷失而且您尝试做的事情将是不切实际的,并且需要许多工时来破译-实际上对于任何大型程序都需要数千工时,即使您能够聘请熟悉代码生成模式的人来帮助使用的特定编译器。

您最好聘请考古学家来帮助您挖掘特定的垃圾填埋场,您可能希望在其中找到包含原始源代码或规范文件等的清单或备份磁带或 CD 或磁盘,或规范文档等程序。认真的。

或者尝试寻找并(重新)雇用原作者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 2023-03-10
    • 2020-03-30
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 2020-04-19
    相关资源
    最近更新 更多