问题标签 [ram-scraping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
13 回答
8511 浏览

c++ - C++ 中的安全内存分配器

我想创建一个分配器,它提供具有以下属性的内存:

  • 无法分页到磁盘。
  • 很难通过附加的调试器访问

这个想法是这将包含用户应该无法访问的敏感信息(如许可证信息)。我已经在网上进行了通常的研究,并就此询问了其他一些人,但我找不到一个很好的起点来解决这个问题。

更新

Josh提到了使用VirtualAlloc来设置内存空间的保护。我创建了一个自定义分配器(如下所示)我发现使用VirtualLock它限制了我可以分配的内存量。这似乎是设计使然。因为我将它用于小物体,所以这不是问题。

并且被使用

Ted Percival提到了 mlock,但我还没有实现。

我发现Neil Furguson 和 Bruce Schneier 的 Practical Cryptography 也很有帮助。

0 投票
11 回答
2223 浏览

security - 如何提高 Delphi 中的内存安全性?

是否可以在 Delphi 中“擦除”字符串?让我解释:

我正在编写一个应用程序,其中将包含一个用于授权用户的 DLL。它将加密文件读入 XML DOM,使用那里的信息,然后释放 DOM。

很明显,未加密的 XML 仍然位于 DLL 的内存中,因此容易受到检查。现在,我不会过分保护它——用户可以创建另一个 DLL——但我想采取一个基本步骤来防止用户名在内存中存在很长时间。但是,由于引用,我认为无论如何我都不能轻易擦除内存。如果我遍历我的 DOM(这是一个 TNativeXML 类)并找到每个字符串实例,然后将其变成类似“aaaaa”的内容,那么它实际上不会将新字符串指针分配给 DOM 引用,然后将旧字符串留在原处内存中有等待重新分配吗?有没有办法确保我正在杀死唯一的原始副本?

还是在 D2007 中有一种方法可以告诉它从堆中擦除所有未使用的内存?所以我可以释放 DOM,然后告诉它擦除。

或者我应该继续我的下一个任务而忘记这一点,因为它真的不值得打扰。

0 投票
8 回答
4642 浏览

c++ - 在 C++ 中直接从文件读取数据到 RAM

有没有办法直接将二进制文件读入RAM?

我的意思是,有没有办法告诉编译器,这里是文件,这里是 RAM 块,请把文件内容放在 RAM 中,走吧,尽可能快。

目前,我正在使用 ifstream 逐步将文件加载到 RAM(数组)64 位块到 64 位块中。但是我认为这必须减慢它的速度,因为它就像(这里有一个类比)使用顶针将水从杯子(文件)中舀到水罐(RAM)中,而不是仅仅拿起杯子然后一口气将全部内容物倒入水壶中。

作为一个相对较新的人,我可能对此有完全错误的想法——任何指导都会有很大的帮助。

我只是在寻找将大文件放入 RAM 的最快方法。

谢谢

0 投票
3 回答
1051 浏览

memory - 在 Windows 中为匹配正则表达式的字符串刮取系统内存

关于从哪里开始的任何想法?