This question is at the border line between legal matters and technical definitions.
From a technical point of view (in scope of this site):
Extracting strings from an executable, is an ordinary operations related to reading files and filtering the output. But presenting the output or storing it means technically to copy the content of the file to another ...
The thing is I'm using EF Core to connect to de database, so I'm pretty attached to SQL Server.
No, you are not.
EF Core contains a bunch of providers, including Sqlite, PostgreSQL, and MySql.
Googling for specific databases gives you more information about the ability to use them with EF Core.
It's not decompilation nor disassembly, maybe borders on reverse-engineering but who am I to interpret lawyer-speak?
Your argument that strings is harmless is probably invalid as strings does not necessarily limit itself to non-executable portions of the binary, this is a configuration option which can be overridden using command line options.
Anyway, since ...
Shared Event Log
Have the two programs share an event log. Each of them writes login and logout records.
These can be counted to determine current login population.
The two programs have to write a still alive message periodically (either per logged in user, or per application, or both).
While counting a login is auto logged out if the login/application keep ...