C#:使exe不能直接运行

Cat*_*hai 1 c# exe

我需要让主要的.exe不可用(当你尝试直接启动它时,你得到一条消息:无法直接启动,如果它从二级exe运行(只有它,我必须有一个crc验证)然后启动.

希望我自己清楚First .exe无法直接启动第二个.exe可以启动第一个exe(仅限)

Aus*_*ley 10

使第一个exe成为DLL.然后第二个程序可以使用它,但用户将无法直接运行它.


Kei*_*thS 6

设置无法直接启动以接受参数的EXE,例如来自应该启动它的一些唯一数据的SHA-256哈希.如果该参数不存在或不符合预期,则显示错误并退出.

编辑:

static class Program
{
   static void Main(params string[] args) //<- first needed change
   {
       if(args.Length == 0 || args[0] != "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
       {
          Console.WriteLine("Cannot execute this program directly.")
          return;
       }

       ... //rest of main function
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 请记住,这只是温和安全.将可执行文件反编译为找到密码或删除密码并不难. (4认同)