将 C 文件反编译为 Pro*C

Decompile a C file to Pro*C

我目前正在审计我们应该在 2 月开始工作的软件。作为源代码的一部分,我们收到了似乎是从 Pro*C 文件生成的 C 文件。

Pro*C 文件使用应用程序"proc"编译成 C 文件,然后您将使用 gcc 将其编译成实际的可执行文件。

我们与该应用程序的前任所有者发生了一些纠纷,到目前为止他们拒绝向我们提供 Pro*C 文件(pc 扩展名)。

我不确定是否可以使用 "proc" 或任何其他工具将它从 C 文件恢复到 Pro*C。

有没有人能够这样做,如果是,怎么做的?

提前致谢。

C*Proc 文件没有 decompiler。包含 SQL 语句的 C 文件称为 embedded *Proc 文件,这是 Oracle 提供的实用程序。使用 Oracle 提供的 proc 翻译器将此嵌入式文件翻译成 C 后,它会将 *Proc 文件转换成 C 文件,并使用 Oracle 提供的库修改这些 SQL 语句APIs

现在我给你的建议是,找出 C 文件(从 *Proc 文件生成)中的所有 methods/functions 并检查并了解它们在 Oracle 数据库中的作用,尤其是所有数据库事务。一旦您理解了这一点,只需尝试使用 Oracle 提供的 ODBC 驱动程序 api 创建您自己的 CC++ 文件。