如何在程序内存中隐藏纯文本



我正在编写程序,将编码字符串加载到内存中并使用特殊算法解码。

程序工作序列:

  1. 从编码文件加载数据(base64 string)
  2. 解码base64字符串为编码数据字符串(Rijndael 256)
  3. 将编码的数据字符串(Rijndael256)解码为纯文本代码
  4. 运行代码并在数据结构中存储状态
  5. 从内存中删除纯文本

问题是在sequence #3中,如果用户创建程序内存转储,他可以获得纯文本的代码,这必须是安全的。我的问题是-有任何方法来保护我的纯文本字符串在内存?

程序用C++编写。

大概在内存中需要纯文本,至少暂时需要,以便正确执行。如果,在那一点上,内存转储发生了,是的,他们可以访问它,不,你对此无能为力。保持纯文本尽可能短的时间会有帮助,以及"安全归零"记忆后,你完成了它。

不,没有任何方法来保护它-可能甚至OllyDbg都足以获得解码值(只是放置一个断点的问题,在此之后内存被归零或移动或其他无关紧要)。

你应该重新考虑你的安全模型

相关内容

  • 没有找到相关文章

最新更新