如何给DLL进行加密?

yuyu465699 2013-12-11 11:33:30
C#程序里面会调用一个DLL,有什么方法可以把这个DLL加密一下,就是想实现让这个DLL在当前电脑上第一次被调用的时候需要根据电脑硬件信息进行解密才可以使用。
...全文
2432 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyu465699 2013-12-12
  • 打赏
  • 举报
回复
公司就是想稍微控制一下DLL,防止在客户知道DLL函数名的情况下,是不是就可以单独把DLL拿出来应用到他们自己程序上去调用呢,
卧_槽 2013-12-12
  • 打赏
  • 举报
回复
windows都盗版呢,怕你这么点加密?
  • 打赏
  • 举报
回复
根据电脑硬件信息,这个获取不难,网上的加密算法那很多 加密使用的源信息都在人家手里,BIOS一样刷,MAC一样伪造 只能说提高破解的门坎,做到万无一失也不太可能
  • 打赏
  • 举报
回复
调用DLL时判断可以访问的电脑硬件信息,不过c#程序做好加密吧。
yuyu465699 2013-12-12
  • 打赏
  • 举报
回复
seryou 2013-12-12
  • 打赏
  • 举报
回复
引用 10 楼 yuyu465699 的回复:
[quote=引用 9 楼 seryou 的回复:] 买个加密狗,用他们的外壳加密工具。 成本就10多块钱。
如果我需要对10个DLL都进行加密,买一个加密狗能行?[/quote] 可以。
sunylf 2013-12-12
  • 打赏
  • 举报
回复
想法很好....
请叫我卷福 2013-12-12
  • 打赏
  • 举报
回复
加密没有破不了的 将类似注册码的东西放在dll资源中 每次使用dll的方法之前 先判断注册码跟机器信息是否匹配(自己选择一套算法) 如果不匹配 需要重新获得注册码 这个dll也要加壳 或者 可以将dll嵌入主程序中 作为一种资源 也就是说 exe目录下见不到单独的dll文件 这个缺点很明显 不能更新单独的dll 要更新 除非一整个程序完整更新 开发时,不要将引用到的dll copy到输出目录中 而是将dll文件作为资源嵌入到exe中 dll文件的Build Action 设置为Embedded Resource; 程序一启动就加载资源中的dll:

static class Program
{
    [STAThread]
    static void Main()
    {
        string resource1 = "MyApplication1.mydll1.dll"; //dll文件在项目中的路径
        string resource2 = "MyApplication1.mydll2.dll"; //dll文件在项目中的路径
        EmbeddedAssembly.Load(resource1, "mydll1.dll");
        EmbeddedAssembly.Load(resource2, "mydll2.dll");
 
        AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
 
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
 
    static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    {
        return EmbeddedAssembly.Get(args.Name);
    }
}
yuyu465699 2013-12-12
  • 打赏
  • 举报
回复
引用 9 楼 seryou 的回复:
买个加密狗,用他们的外壳加密工具。 成本就10多块钱。
如果我需要对10个DLL都进行加密,买一个加密狗能行?
seryou 2013-12-12
  • 打赏
  • 举报
回复
买个加密狗,用他们的外壳加密工具。 成本就10多块钱。
yuyu465699 2013-12-11
  • 打赏
  • 举报
回复
可以用ZProtect加壳工具实现吗?
【Help】 2013-12-11
  • 打赏
  • 举报
回复
同求。。。。
yuyu465699 2013-12-11
  • 打赏
  • 举报
回复
在线等

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧