使用 rtld / 免费加载器/链接器加载加密共享对象

发布于 2024-11-02 15:31:14 字数 755 浏览 5 评论 0原文

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

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

还有一些进一步的要求:

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

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

一些相关链接/信息

I am doing some research in encryption/software protection. I want to link dynamically encrypted shared objects (Linux, x86 Architecture, ELF32/64 format)

  • The code to be protected is contained (encrypted, no valid ELF) in the shared object.
  • The object itself is a valid ELF-file, containing an init method
  • The decryption should be started, dependend on a available license in the init function called by the loader.
  • After encryption the code is present as valid ELF-file in memory.

There were some further requirements:

  • The decrypted code must not be stored (even temporarily on disk) - prevent easy object dump and code reuse
  • The protection algorithm must not be published, so I may not use parts of the GNU code (even people do a great work there!)

I think the hard way is to reimplement a loader/linker providing the needed functionality... Perhaps there may be a way to use the Linux rtld, or parts of it, other linkers?
Is there an easier way?
Thanks for every idea/hint

Some related links/Infos

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜声 2024-11-09 15:31:14

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

Take a look at Shiva if you're interested in this. There was no source code released to the public but the theory is still there.

¢蛋碎的人ぎ生 2024-11-09 15:31:14

很久以前,Phrack 推荐了一篇关于 ELF 的文章加密。很久以前,就有一个名为 BurnEye 的程序来加密 ELF 二进制文件。

A long time ago, Phrack featured an article on ELF encryption. Also a long time go, there was a program called BurnEye to encrypt ELF binaries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文