注入的进程是否对通过注入 DLL/code 创建的锁保持真实?

Do injected process' stay true to locks that are created via the injected DLL/code?

我创建了一个 DLL 注入到一个软件中,这个 DLL 的目的是在 运行 时间内加密一些其他人不应该访问的数据。

无论如何,我们 运行 遇到了 encryption/decryption 进程混乱的问题,因为另一个线程(我假设)访问了它自己的进程 encryption/decryption(顺序错误)。

我无权访问该软件的本机代码。

我的问题是....

如果我要进行 std::mutex 以在 class 中执行锁定操作,该 class 在注入的 DLL 内部创建,但从原始软件线程调用...这些线程是否会遵守通过 DLL 的锁定方案?我想答案是肯定的,我只是想确定...

If I were to make an std::mutex to preform locking operations within a class that is created inside of the injected DLL, but called from the original softwares threads...

不,因为旧代码中的其他线程不知道互斥量,更不用说遵守它了。 (互斥量不会神奇地锁定资源,它们只是两个或多个代码段相互 "signal" 的一种方式,它们的某些 "group" 需要独占访问资源。如果任何代码片段忽略了纪律,互斥锁不会阻止它)