【问题标题】:Compile using gcc without plain text constants in ELF image在 ELF 图像中使用没有纯文本常量的 gcc 进行编译
【发布时间】:2013-07-31 14:38:43
【问题描述】:

我在 C 代码中有一些字符串常量。当我使用 gcc 编译它时,字符串以纯文本形式存储在 a.out 中。这些可以在 a.out 中手动编辑。我不希望它们以某种格式编码,这样没有人可以通过编辑 a.out 来更改字符串。是否有任何 objcopy 或 gcc 选项可以避免这种情况?

【问题讨论】:

  • 只要 a.out 是可编辑的,无论您如何编码,它们都可以随时更改字符串。混淆字符串当然会稍微困难一些,但你永远无法完全阻止人们。

标签: gcc constants elf plaintext


【解决方案1】:

那么是否至少可以编译代码,以便精灵仅在完整性自检后执行,如果失败则以错误终止...

也就是说它可以在最后存储某种md5sum,并在每次执行时检查它..

我相信 win32 应用程序具有此功能,并且手动编辑 windows exe 使其成为无效的 win32 应用程序,因为校验和失败..

这在 GCC/Linux 中可行吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-06
    • 2012-06-09
    • 2011-01-24
    • 1970-01-01
    • 2019-07-18
    • 2011-01-21
    • 1970-01-01
    • 2018-05-25
    相关资源
    最近更新 更多