即使没有程序运行,C#文件输出(.exe)也可以运行代码

时间:2013-03-27 15:10:29

标签: c# embed exe

好吧,我承认标题有些模糊,我不知道如何在标题中描述它。即使是标签,我也不确定该问题的内容。

所以,我有一个加密&解密程序(在c#中),我可以加密它成为.exe文件。现在,我想在不运行程序的情况下解密它。我只想运行.exe文件,它将自行解密(使用我自己的算法)。

我现在的概念是,我需要在加密时嵌入我的解密代码。它有什么办法吗?谷歌()不能真正帮助我,因为我不知道有关这方面的条款。也许这里有人可以帮助我吗?

一般理念:

我的加密功能:

Encrypt(string input, string output, string key)
{
    .....after all encryption happens....
    <produce output which is .exe>
    <embed the decryption function, which will run when .exe is launched>
}

我的解密功能(加密文件时需要嵌入的功能):

Decrypt(string input, string output, string key)

如果我让自己感到困惑,请提醒我。我会尽量让它更容易理解。非常感谢你。

1 个答案:

答案 0 :(得分:0)

我有两个建议:

复杂解决方案:

  1. 加密您的文件制作en.exe
  2. 打开en.exe并将其逐字节嵌入到以Decryptor为主要功能的项目中的字符串中。
  3. 编译第2步的项目。结果就是自我解密者
  4. 注意:您可以在飞行中执行第2步。我的意思是你的加密器在运行时制作这个C#项目然后编译它。此方法使用RunTime Compile概念。

    简易解决方案:

    使用WinRar。它可以加密/解密,密码保护和制作EXE文件。一切都非常简单,可以使用命令行完成。