【问题标题】:Is there a way to convert .so file into .c file?有没有办法将 .so 文件转换为 .c 文件?
【发布时间】:2019-04-10 09:18:35
【问题描述】:

我正在编写一个 C 程序,并使用 GCC 将它从 .c 转换为 .so 文件。我有点好奇是否有任何方法可以将.so 文件转换回.c 文件。

假设我将我的代码发送给某人,它包含所有.so 文件。是否有人可以使用任何工具、编辑器、技术等访问我的源代码?

【问题讨论】:

  • 说您将 .c 文件“转换”为 .so 文件确实具有误导性。这不仅仅是格式转换。它们代表着根本不同的事物。否则,反向转换将是微不足道的。
  • @KonradRudolph 你忘了提到“转换”叫什么:)
  • 如果你不想让任何人知道你的代码做了什么,你就不能给他们实际执行它的二进制文件。

标签: c .so


【解决方案1】:

您无法取回原始 C 源文件,因为其中包含共享对象 (.so) 文件内的机器代码中根本没有表示的信息。

但是,目标代码可以将disassembled 转换为专家可以理解的可读机器代码。因此,您的 C 代码中的逻辑不应被视为“秘密”。

有一些混淆代码的方法使反汇编代码更难理解,但这些方法的有效性程度不同,并且它们越有效,它们带来的副作用就越多(主要是使代码执行速度变慢)。

【讨论】:

    猜你喜欢
    • 2015-09-04
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多