gpt4 book ai didi

c - 使用 rtld/free loader/linkers 加载加密的共享对象

转载 作者:太空狗 更新时间:2023-10-29 11:16:22 25 4
gpt4 key购买 nike

我正在做一些关于加密/软件保护的研究。我想链接动态加密的共享对象(Linux、x86架构、ELF32/64格式)

  • 要保护的代码包含在共享对象中(已加密,没有有效的 ELF)。
  • 对象本身是一个有效的 ELF 文件,包含一个 init 方法
  • 应该开始解密,这取决于加载程序调用的 init 函数中的可用许可证。
  • 加密后,代码作为有效的 ELF 文件存在于内存中。

还有一些进一步的要求:

  • 不得存储解密后的代码(即使是临时存储在磁盘上)- 防止容易的对象转储和代码重用
  • 不得发布保护算法,因此我可能不会使用部分 GNU 代码(即使人们在那里做了很棒的工作!)

我认为困难的方法是重新实现一个提供所需功能的加载器/链接器...也许有一种方法可以使用 Linux rtld 或它的一部分,其他链接器?有没有更简单的方法?
感谢您的每一个想法/提示

一些相关链接/信息

最佳答案

看看Shiva如果你对此感兴趣。没有向公众发布源代码,但理论仍然存在。

关于c - 使用 rtld/free loader/linkers 加载加密的共享对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com