I am developing a C # application to help people with reading and writing disabilities - among other things, this application provides word prediction.
Prediction of the word is written in C and runs as a web service on a Linux server and requires the use of a login. No problems.
Recently, however, some of our customers have shown interest in the standalone version that we would like to provide. As a tool for this, I wrote a wrapper (in C) around the word prediction code and compiled it into a DLL that I can use in my C # application along with our prediction data files.
The problem is that now everyone has access to:
- Our data files (not a problem in itself, because files do not make sense without a prediction code).
- The compiled library.
- C # code (which can be easily decompiled to find out how the DLL is used).
I know that I cannot protect C # code, and I also know that it is impossible to completely protect the code, since binaries will always be readable (there are already many questions / answers on this subject, so I will be grateful if people do not repeat these answers )
I would like to know if it is possible to protect a DLL so that it can only be called from my application?
I think something like comparing the checksum of the calling EXE file with the checksum compiled into the DLL. Are other (more elegant) solutions available?
, DLL, 100% ( ) - , /DLL ( , ).
, , .
, , 100% - , ( : .NET ?).
, (, , : ).
, , , , , , ? ?
. .
Windows , - - "" ", Windows". , , , .
, , . ? , ( -) , , , , .