注入的进程是否对通过注入 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" 需要独占访问资源。如果任何代码片段忽略了纪律,互斥锁不会阻止它)
我创建了一个 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" 需要独占访问资源。如果任何代码片段忽略了纪律,互斥锁不会阻止它)