加密 EXE / RAM 中的纯文本 :: HxD 编辑器
HxD(十六进制编辑器)允许搜索/查看/编辑 RAM。
如何保护 EXE 免受此类编辑器的侵害? 数据在 INI/registry/DB 内加密, 但在 RAM 中解码。
解决办法是什么? 在运行时尽快解码、使用和重新编码 RAM 内的数据?
HxD (hex editor) allows to search/view/edit RAM.
How can I protect a EXE against such editor? Data is encrypted inside INI/registry/DB,
but is decoded at RAM.
What is the solution? At runtime decode, use and recode data inside RAM ASAP?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你正试图用茶匙挡住大海。
这种“内存保护”就是好的(邪恶的?)恶意软件所做的。 我曾亲眼目睹过如何打破这种“保护”的现场演示。 它最终是无用的 - 在某些时候您的明文必须可供计算机执行。 有能力的程序员/逆向工程师可以轻松地找到明文何时可用,然后暂停程序并在闲暇时检查进程内存。
这与 RIAA 在 DRM 方面面临的问题相同:要求存在缺陷。 您希望对用户隐藏您的程序,但为了让他们使用它,他们必须在某个时刻拥有明文。
您唯一可能的救赎TPM,但它们在消费市场中非常罕见,您的用户群将会下降到个位数。
You are trying to hold back the sea with a teaspoon.
This kind of "in memory protection" is what good (evil?) malware does. I have seen live demonstrations of how to break this kind of "protection". It is ultimately useless - at some point your clear text must be available for execution by the computer. A competent programmer/reverse engineer can easily find when the clear text becomes available and then just pause the program and examine the process memory at their leisure.
This is the same problem the RIAA faces with DRM: the requirements are defective. You want to hide your program from your users, and yet in order for them to use it, they must have the clear text at some point.
Your only possible salvation TPM but they are so rare in the consumer market your user base will be down to single digits.
您可以使用像 Themida 这样的 exe 保护器(它甚至会使查看内存变得困难),但请记住用户会因此而讨厌您。 另外,请记住,Themida 与所有其他保护程序一样,经常被破解,无论此类软件的供应商如何声称。
简而言之:目前还没有什么好的方法可以防止逆向工程。
You can use an exe protector like Themida (one that will make even viewing the memory difficult), but remember that users will hate you for that. Also, remember that Themida, like all other protectors, is routinely cracked, despite what vendors of such software claim.
Short: There is no good way to prevent reverse engineering, ever.
不太确定他们是否在这个级别上这样做,但是 KeePass,一个开源密码管理器,声称会采取一切可能的措施来隐藏密码以防止调查。 看看他们是如何做到这一点可能会很有趣......:-)
Not too sure if they do that at this level, but KeePass, an open source password manager, claims to take every available care to hide passwords from investigation. It might be interesting to see how they do that... :-)