我知道操作系统有时会在发送信号时(通常在崩溃时)生成核心转储。有没有办法通过#define 或编译器标志从C/C++内部告诉操作系统不可以,或者可以通过该可执行文件生成某种特定限制的核心转储?我知道控制它的唯一方法是通过 ulimit -c。我的测试系统是Linux。无核心转储不需要在系统范围内实现,仅适用于特定程序。
对于感兴趣的人来说,这与Bitcoin Core 的 bitcoin-qt 中的CVE-2019-15947 有关,它仍然没有解决方案。
部分讨论位于比特币 GitHub 错误跟踪页面。
另一种选择是对内存中的 wallet.dat 进行混淆和/或加密,这样就不容易通过核心转储来检索它。请注意,第二个选项已经可以完成,但默认情况下未启用。