我正在编写将编码字符串加载到内存中并使用特殊算法对其进行解码的程序。
计划工作的顺序:
base64
字符串)base64
字符串解码为编码数据字符串(Rijndael 256
)Rijndael256
)解码为纯文本代码问题出在sequence #3
如果用户创建程序存储器转储,他可以将代码作为纯文本获取,必须是安全的。
我的问题是 - 有什么方法可以保护我在内存中的纯文本字符串吗?
程序以C++
编写。
答案 0 :(得分:1)
据推测,在内存中需要纯文本,至少是短暂的,以便正确执行。如果在那时发生了内存转储,是的,他们可以访问它,不,你可以做很多事情。尽可能短的时间保持纯文本也有助于确保归零和#34;你完成它之后的记忆。
答案 1 :(得分:1)
不,没有任何方法可以保护它 - 大概甚至OllyDbg足以获得解码值(只需要放置一个断点,之后内存归零并不重要)或移动或任何东西)。
您应该重新考虑您的安全模型。