日期:2014-05-20  浏览次数:20724 次

.net可以将文件(加密的)直接生成本地代码吗?
原因:.net程序极易反汇编
愿望:将所有DLL打包并加密为一个文件中,如code.exdll
当主程序main.exe运行后,调用非托管的decode.exe来解密code.exdll,将code.exdll解密并生成本地代码..
然后main.exe可以正常的调用各DLLs,就像没有加密码解密过程一样

这样有办法实现吗?请各位指点..

------解决方案--------------------
只能用反射。
就如你所言:当主程序main.exe运行后,调用非托管的decode.exe来解密code.exdll,将code.exdll解密并生成本地代码..
然后main.exe可以正常的调用各DLLs,就像没有加密码解密过程一样
------解决方案--------------------
为什么不试试 混淆器 呢?特别重要的算法还是使用 非托管 语言进行编写,再让C#调用吧.这个是比较正统一点的保密做法.
------解决方案--------------------
我最近就老是在想这个问题,不知道可行否。
------解决方案--------------------
方法可行,可是你解密后的DLL放到什么地方安全呢?内存里面?

找一款好的混淆器就可以了。老强大了。
------解决方案--------------------
搞混淆器就可以了滴,除非非要破解你的代码,不然看到一堆没有注释的a、b、c……变量,会增加破解的成本,那么还不如不破解了