Inquiry about conflict issue between security program and Polyspace

3 次查看(过去 30 天)
I am a developer who is developing a security program, and I am inquiring about a possible conflict between the security program and Polyspace. During building in Polyspace, the following message appears:
polyspace-configure: 2s: ERROR: Error durigin inject order 10212.9496:
polyspace-configure: 2s: ERROR: Failed to wait 10212 for event with code 258
The security program is performing DLL injection into the processes. Errors occur even when the DLL is only injected and not activated.
I am wondering if it is possible to exclude the file path of the security program from the error, and if there is a way to avoid the error altogether. The security program needs to inject WinAPI.
I have one more question. After the build is complete, the following message appears.
polyspace-configure:0s:DEBUG [from sniffer(78163848)] INJECT_PROCESS problem during the injection for 2160.16900 but injection succeeded
polyspace-configure: 0s:ERROR: [from sniffer(78163858)] Failed to wait 2160 for event with code 258
Is there a way to prevent this message from appearing or is it okay to ignore it?
Thank you for your assistance.

回答(1 个)

Anirban
Anirban 2023-4-7
编辑:Anirban 2023-4-7
Those messages come from polyspace-configure, the tool used to configure Polyspace projects based on the user's build system. To trace the user's build, this tool performs DLL injection into the compilation processes. The DLL injection allows polyspace-configure to hook into system calls such as CreateFile, CreateProcess, etc. The hooks allow polyspace-configure to understand what is going on during the compilation.
So, if another security program is injecting DLL-s, there could be conflicts happening, indeed. In principle, polyspace-configure should be able to work alongside other DLL injecting tools, but it really depends on the tool behavior.
Regarding the error messages, they simply refer to a synchronization mechanism reaching a timeout, but it seems that the injection took place anyway. It is possible there are no conflicts with the DLL injection but only with the synchronization. For the record, the synchronization mechanism is based on Windows Event system: https://learn.microsoft.com/en-us/windows/win32/sync/using-event-objects.
Regarding your second question, the message can be ignored since the injection took place.
  2 个评论
Wonhee Choi
Wonhee Choi 2023-4-10
Thank you for taking the time to answer my question.
It seems that these messages are still appearing even when I immediately uninject the dll after injection to prevent them from showing up.
I'am wondering if there are any measures I can take to avoid these messages from appearing.
Anirban
Anirban 2023-4-11
编辑:Anirban 2023-4-11
There are no documented ways to modify the dll injection mechanism in polyspace-configure. You can contact MathWorks Technical Support to see if there are workarounds.
polyspace-configure supports another way to configure a project from a build, that does not involve tracing the build commands (and avoids the dll injection issue). If the build system can generate a JSON compilation database file, one can use polyspace-configure -compilation-database with this JSON file. For more details, see polyspace-configure.

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by