【问题标题】:How to know the latest version of source code used for an executable?如何知道用于可执行文件的源代码的最新版本?
【发布时间】:2018-03-15 06:31:40
【问题描述】:

我有一个二进制文件列表和不同版本的源代码。我应该如何知道特定二进制可执行文件使用了哪个版本的源代码?

【问题讨论】:

  • 你试过strings <executable_file>然后检查标准输出的内容吗?这将允许您查看二进制文件中的字符串,甚至可以获得所需的全部信息!还可以尝试 readelf -h 以获取有关您的 exe 的 ELF 的信息,但是您不会获得有关您的版本号的更多信息
  • 您是否在询问如何在没有任何机制支持您的目标的情况下查找代码?在这种情况下,答案是“做一个 Sherlock,找出代码中的差异并在二进制文件中寻找匹配的差异”。在其他情况下,请显示文件包含的机制。或者你是在问未来如何规划这种情况? IE。您询问如何处理此问题的建议。请注意,评论和答案在这些方面是不同的。所以你的问题不清楚,没有进一步的解释。

标签: c unix executable binaryfiles


【解决方案1】:

这是一个关于软件版本管理的问题。你想怎么做是你的决定。您可以在代码中添加版本信息,例如在字符串或变量中,或在 Windows 可执行文件中可能可用的资源容器中。

一个好的方法是使用版本控制系统(例如 git)并使用您在代码中放置的版本号将标签添加到存储库。

【讨论】:

    【解决方案2】:

    一种可能的方法:

    在每个源文件的顶部附近,声明一个包含当前配置管理文件版本号的“const”字符串。

    稍后检查时,查看可执行文件的 .const 部分。

    【讨论】:

      猜你喜欢
      • 2017-02-02
      • 2018-03-01
      • 2011-02-09
      • 2018-10-25
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多