sudo cp smartjacket.service /etc/systemd/system/smartjacket.service
sudo systemctl daemon-reload
sudo systemctl start SmartJacket
[Unit]
Description=Smart Jacket service
[Service]
# will set the Current Working Directory (CWD). Worker service will have issues without this setting
WorkingDirectory=/opt/SmartJacket/publish
# systemd will run this executable to start the service
ExecStart=/opt/SmartJacket/publish/watcher /var/ftp /opt/SmartJacket/publish/SmartJacket
# to query logs using journalctl, set a logical name here
SyslogIdentifier=smartjackets
# Use your username to keep things simple.
# If you pick a different user, make sure dotnet and all permissions are set correctly to run the app
# To update permissions, use 'chown yourusername -R /srv/Worker' to take ownership of the folder and files,
# Use 'chmod +x /srv/Worker/Worker' to allow execution of the executable file
User=ubuntu
# ensure the service restarts after crashing
Restart=always
# amount of time to wait before restarting the service
RestartSec=5
# This environment variable is necessary when dotnet isn't loaded for the specified user.
# To figure out this value, run 'env | grep DOTNET_ROOT' when dotnet has been loaded into your shell.
Environment=NETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
В любом случае есть антиотладочные методики, вопрос в том сколько вы ресурсов хотите потратить на защиту.
В общем случае достаточно скомпилировать программу.
Второй слой это обфускация
Третий слой это гадство на уровне драйверов
третьи это вообще ппппп но и их снимают примеры solidworks 3dsmax 1c