Хорошо, скажем, мы не хотим, чтобы hexworkshop или hxd открыли исполняемый файл, который я сделал. Как бы я поступил так? Это вообще возможно? По сути, я ищу, чтобы другие программы не могли открывать мою программу без необходимости ее открытия в данный момент.
Примечание: я знаю, как убивать процессы, но это работает только тогда, когда программа открыта. я хочу, чтобы программы не могли открывать / читать .exe, даже если программа не запущена.
Просто невозможно запретить приложениям Windows открывать какие-либо файлы, если только Windows не мешает вам сделать это. например через права доступа к файлу и т. д. Это почти бесполезно. Т.е., если вы можете запустить приложение, вы можете открыть и прочитать его, потому что вы должны быть в состоянии сделать это, чтобы запустить его. По сути, ваша программа — это файл, и ОС обрабатывает его таким образом.
Поскольку ваша цель состоит в том, чтобы предотвратить пиратство или кражу вашего программного обеспечения, я слышал, что одна из опций состоит в том, чтобы регулярно проверять правильность программы в коде.
Большинство хакеров обходят только ранние проверки, чтобы заставить их работать, но если ваши проверки разбросаны по всему коду, то хакеру будет намного сложнее их обойти.
Другой вариант — использовать ключ. Насколько я понимаю, ваша программа шифруется и дешифруется программным обеспечением или ключом во время работы. Тем не менее, в какой-то момент он находится в памяти, поэтому дамп памяти получит программное обеспечение.
Лучшее, что вы можете сделать, — это сделать ваш код очень сложным. Но это не невозможно.
Основным для программного обеспечения, которое не может быть легко украдено, является программное обеспечение, которое не работает на вашем компьютере. например веб-сервисы.
Кстати, программное обеспечение, которое самостоятельно уничтожает или стирает жесткий диск, как вы описываете в комментариях, вполне может быть незаконным в большинстве стран.
Должна быть возможность выяснить, когда приложение запускалось в последний раз, путем настройки отслеживания процесса аудита в Windows. Следующие ссылки могут помочь вам начать:
Как я могу отслеживать, какие программы приходят и уходят на моем компьютере?
Отслеживание процесса создаст записи в журнале событий Windows, к которым вы можете получить доступ, используя C ++, C # &/ или VB.Net.
Таким образом, вы можете опросить, работает ли программа (которая конфликтует с вашей), и просто выйти из приложения.
Редактировать:
Примечание: я знаю, как убить процессы, но это работает только тогда, когда
Программа в настоящее время открыта. что я хочу, чтобы это предотвратить программы
возможность открывать / читать .exe, даже когда программа не запускается
Вам нужно будет использовать такой инструмент, как Salamander protector
— .NET Protector — это технология, которая обеспечивает реальную защиту вашего кода .NET. В отличие от обфускатора, который затрудняет декомпиляцию из-за переименования символов, средство защиты RemoteSofts полностью останавливает разборку и декомпиляцию MSIL. С этим инструментом вы уверены, что никто не сможет украсть ваш исходный код. С этим инструментом вам больше не нужно беспокоиться об одной головной боли платформы Microsoft .NET — декомпиляции.