可以使用混淆加密 使用Dotfuscator混淆代码以及加密
只能这么做吗,对dll加密这方面不是很了解属于新手状态
@shenz_free: 混淆就可以了 或者你给程序中写些误导性的操作 让对方反编译看不懂。或者把你得程序改为B/S. 呵呵
没有多么好的解决方案,混淆是一定的,只是增加了查看源代码难度。加壳也需要,只是目前常见的加壳工具大部分都能找到的脱壳工具,再好点就收费,价格还不菲。
我写的小软件价值不高,一般都是混淆加壳。能服务器完成的事情放服务器上,有写敏感dll都是动态都是经过上面操作后放在服务器上,下载到tmp中后反射加载。如果是不用联网的,跟exe编译到一起,也是反射加载。防专业人事没办法,也就防范下菜鸟外加点心理安慰
我的也不是什么软件来的,是一个web的bin-》dll 但是这个web发布版是挂在别人的服务器,如果被破解了。我的源码全部曝光
@shenz_free: web项目的话应该很多内容或数据可以放到自己数据库或服务器吧,然后用webservice调用
@孤零落叶寒: 我的东西等于是全部写完挂别人的服务器,不存在webservices之说了。
将商业机密部分写到c++里,用dllimport调用
请问C#程序集的强签名可以吗。
@shenz_free: 没用,强签名只是别人不能修改你的程序集,看代码照样看
@小彬: 目前看来我只能先初步的混淆下吗。
只要别人想破解没有破解不了的,只是说破解难度和成本的问题。
对啊。这个我知道,,但是不能直接 就可以被refletor看的到的那种,或者能混淆起来也行了。。
加壳没多大用,硬件加密难度也很小(你总得存密码吧,这很容易找,这种的好处在于代码拿到无法运行,常见的模块是加密狗——狗是很卵的东西),混淆是相对好保障。
技巧:完成代码后,增加无用逻辑,增加Dictionary,没事就用点反射且反射时换算换算...总而言之在防读的情况下,代码结构越烂,安全系数越高。
如果你的程序是网络版的,你可以将服务器当作硬件使用,把部分dll或者源码或者数据等,自行加载,这样可以稍微有效的保护源码。
哇塞,感觉这位大神说的很好啊
我现在是web版本的应用程序,,因为需要挂入别人的服务器,我是怕会把我的dll给破解了。所以一直在想解决办法的
@shenz_free: 这种场合你可以光明正大的用狗,狗几十块。混淆参照上面的手法即可。
@花飘水流兮: 可以给个链接吗,在哪里买哦,推荐一个给我,谢谢大神啊
@shenz_free: 很多厂家的,比如飞天诚信——声明我跟他毛关系没有哈。你到淘宝搜应该可以搜出很多其他狗的。
既然是web应用,还要挂到别人服务器上,那么就是已经把所有控制主动权双手奉上了,
一般WEB应用的话,数据是存数据库的吧,那么你这种情况,首先是数据就有危险了,人家随时可以打包一份,
他想看啥看啥;
他要盗用,直接连程序带数据库整个复制一份;
他要搞你,给你把用户请求导入到自己web程序里,坑死你的用户。
这种情况还担心破解,我觉得实在是你多虑了,根本用不着这么麻烦
没得搞
首先,这个思想就不正确,现在这个时代,保护代码要靠版权,收费要靠服务!
已经过了那个只凭借一个独立软件就可以发家的时代了,目前,.NET只要是用在C/S的开发上,收费的核心点在那个S上面而不是C上面,C是用来提升S的使用价值的。
如果一心想靠C赚钱,你想想吧,C写的WINDOWS都被破解这么多年,你用一个开源的中间语言编写的代码,不是明摆着就让人家破解的么?
那不是完蛋了。
@shenz_free: 与其花非常大的精力在一个不能完成的事情上,还不如改变思路。你再加花,再乱,能看懂的人还是能看得懂。而且通过直接引用你的程序压根不用看得懂。
@ensleep: 哎,是我当初没有考虑这些东西。。我现在看来只能把一部分放在c++dll里面去了。C#太容易被破解了。真是郁闷
@shenz_free: c++照样被破解啊,也是明文写在内存里面的呀,而且别人也不用看懂你代码,直接hook进去就可以了。还是那句话,跑在别人电脑上的东西就是脱光内裤给别人看的东西,要么关键东西不放在不运行在别人电脑上,要么就通过法律手段来保护。别的都是掩耳盗铃。
C#代码的反编译是非常简单的,如果需要加密,请使用C++,即使使用C++编码,也能被反编译,但是成本非常高,还有,现在崇尚开源,
说的的确是这样c#不给力啊
把关键的东西 进行加密然后调的地方再解密,你看行不行
这种的话,总有一个地方引用吧。。然后破解dll之后就看见你使用了哪个dll进行了自定义加密。那通过算法解密后还是可以破解加密的那个dll啦。
用clojure-clr, clojure等平台上的小众语言写程序,不仅写起来很舒服, 也能利用强大平台生态, 但生成的字节码难看, 反编译后看想来很困难.更不用说混淆后再反编译了
.NET Reactor可以加壳混淆
但是用de4dot 又可以脱壳,反正她们都是互相进步的!可以防止一些初级的反编译
用个加壳软件,如Sixxpack v2.2chs 这个软件
第一、你写的代码并没有你想象中值钱,基本不会有人去抄你的代码的。
第二、别人要偷的话,是偷走整套东西而不是你的部分代码。如果是个简单的系统,这个基本没法阻止,你知道有个工具叫磁盘克隆。。。
第三、赚钱要靠服务。你写的代码别人提供不了服务,这个是偷不走的。