问题标签 [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.
c++ - C++ 中的安全内存分配器
我想创建一个分配器,它提供具有以下属性的内存:
- 无法分页到磁盘。
- 很难通过附加的调试器访问
这个想法是这将包含用户应该无法访问的敏感信息(如许可证信息)。我已经在网上进行了通常的研究,并就此询问了其他一些人,但我找不到一个很好的起点来解决这个问题。
更新
Josh提到了使用VirtualAlloc
来设置内存空间的保护。我创建了一个自定义分配器(如下所示)我发现使用VirtualLock
它限制了我可以分配的内存量。这似乎是设计使然。因为我将它用于小物体,所以这不是问题。
并且被使用
Ted Percival提到了 mlock,但我还没有实现。
我发现Neil Furguson 和 Bruce Schneier 的 Practical Cryptography 也很有帮助。
security - 如何提高 Delphi 中的内存安全性?
是否可以在 Delphi 中“擦除”字符串?让我解释:
我正在编写一个应用程序,其中将包含一个用于授权用户的 DLL。它将加密文件读入 XML DOM,使用那里的信息,然后释放 DOM。
很明显,未加密的 XML 仍然位于 DLL 的内存中,因此容易受到检查。现在,我不会过分保护它——用户可以创建另一个 DLL——但我想采取一个基本步骤来防止用户名在内存中存在很长时间。但是,由于引用,我认为无论如何我都不能轻易擦除内存。如果我遍历我的 DOM(这是一个 TNativeXML 类)并找到每个字符串实例,然后将其变成类似“aaaaa”的内容,那么它实际上不会将新字符串指针分配给 DOM 引用,然后将旧字符串留在原处内存中有等待重新分配吗?有没有办法确保我正在杀死唯一的原始副本?
还是在 D2007 中有一种方法可以告诉它从堆中擦除所有未使用的内存?所以我可以释放 DOM,然后告诉它擦除。
或者我应该继续我的下一个任务而忘记这一点,因为它真的不值得打扰。
c++ - 在 C++ 中直接从文件读取数据到 RAM
有没有办法直接将二进制文件读入RAM?
我的意思是,有没有办法告诉编译器,这里是文件,这里是 RAM 块,请把文件内容放在 RAM 中,走吧,尽可能快。
目前,我正在使用 ifstream 逐步将文件加载到 RAM(数组)64 位块到 64 位块中。但是我认为这必须减慢它的速度,因为它就像(这里有一个类比)使用顶针将水从杯子(文件)中舀到水罐(RAM)中,而不是仅仅拿起杯子然后一口气将全部内容物倒入水壶中。
作为一个相对较新的人,我可能对此有完全错误的想法——任何指导都会有很大的帮助。
我只是在寻找将大文件放入 RAM 的最快方法。
谢谢
memory - 在 Windows 中为匹配正则表达式的字符串刮取系统内存
关于从哪里开始的任何想法?