当前位置:编程学习 > C#/ASP.NET >>

各位大人,如何保护C#开发的软件,不被破解和反编译!急!

我自己委托用别人用C#语言开发了套软件,后来又听说C#开发的软件很容易被反编译!我就吓了一身冷汗!我这个软件最重要的是升级和注册两个块,数据库是ACCESS。请问各位有什么好的方法能使我的软件不被反编译?仅仅简单加个壳行不行?注册机反编译是不是很容易被反编译?在线等! --------------------编程问答-------------------- 找工具,混淆,压缩加壳,不过,绝对不被破解,不可能的 --------------------编程问答-------------------- netunpacker
xenocode
netz

--------------------编程问答-------------------- 在破解高手看来,加壳混淆,都不算啥。 --------------------编程问答-------------------- 微软自己的 dotfuscator --------------------编程问答-------------------- 各位的意思就是C#和容易被破解了?那还用C#开发什么?不安全呀!
--------------------编程问答-------------------- C#就是本着开源的原则的。如果担心被破解,改用C++或者C吧 --------------------编程问答-------------------- 世界上没有破解不了的软件。
凡是都是相对而言的 --------------------编程问答-------------------- C#的其他混淆器也只是混淆了一些字符。
实在想用C#,就用VS的自己建一个signing。 数字签名。然后用这个签名锁住。
不过也是有被破解的可能性的。 --------------------编程问答-------------------- C#就是本着开源的原则的?像我这样的注册升级的软件,用C#开发还有什么意义呢?
注册机都被破解了,软件也就没意义了,谁都可以注册了!
--------------------编程问答-------------------- 你的网站有多少商业价值。一般小网站都不怕的·即使被反编译了也只是知道你源码而已· --------------------编程问答-------------------- 我不网站,我是软件?销售后注册使用那种,我担心的是把我的注册机给反编译了! --------------------编程问答-------------------- 没那么简单的,再说,就你那软件,谁有工夫去破解啊  --------------------编程问答-------------------- 等你的软件正真有价值了,再来说保护的问题。 --------------------编程问答-------------------- 至少注册机不要轻易被破解嘛!不然机失去意义了
--------------------编程问答-------------------- 即使被反编译了也只是知道你源码而已·但是知道了算法,就可以自己做注册机注册了呀?
--------------------编程问答-------------------- 相信我。。没有会去看你软件的代码。



估计没时间   --------------------编程问答-------------------- 软件毕竟是要成本的,被人轻易破解了,就会有经济损失的! --------------------编程问答-------------------- 我不破解你的,呵呵呵 --------------------编程问答-------------------- 软件混淆程度高低决定破译难度的高低,同时对软件的性能也会产生影响,所谓防不胜防,可以做一做混淆,加壳,破解这东西没有绝对可言 --------------------编程问答-------------------- 找工具,混淆,压缩加壳 --------------------编程问答-------------------- 真搞不懂,现在加密的东西为啥那么容易被破解了
--------------------编程问答-------------------- 我们公司用 .net reactor --------------------编程问答-------------------- net reactor 是加壳的?还是加密的? --------------------编程问答-------------------- 8可能嗒 --------------------编程问答-------------------- net reactor 是壓縮殼,也是字符串/流程混淆,不過不堪一擊,呵呵呵 --------------------编程问答-------------------- 可以用VS2010自带的混淆工具

菜单-->工具-->Dotfuscator Software Services -->输入程序集,选择你的程序集可执行文件exe或dll-->选择属性-->生成设置,临时目录存储路径,生成混淆文件

安装时把生成的混淆文件代替再打包,试着用reflector检验混淆正确性 --------------------编程问答--------------------
引用 26 楼 wulala789 的回复:
可以用VS2010自带的混淆工具

菜单-->工具-->Dotfuscator Software Services -->输入程序集,选择你的程序集可执行文件exe或dll-->选择属性-->生成设置,临时目录存储路径,生成混淆文件

安装时把生成的混淆文件代替再打包,试着用reflector检验混淆正确性


看來你這方面經驗很少 --------------------编程问答-------------------- 1.不销售,不流通自然没人破解(玩笑)。
有个简单办法,使用Ngen.exe把你的程序编译成本地印象,然后使用vmp加个壳(我自己没试验过)。
反正我是遇见了vmp壳我就不搞的那种,防我足够了 --------------------编程问答-------------------- 没有破解不了的软件,只是相对而言而已 --------------------编程问答-------------------- 在国内,想靠软件赚大钱难度大啊,只要用的人多,破解也就来了。还是用软件免费服务收费的方式更好些,比如QQ的各种钻。当然专业化的定制软件直接卖钱就是了 --------------------编程问答-------------------- 在线销售,,或者想网游一样,打旗号免费,,实际要很多,钱钱,, --------------------编程问答-------------------- 去飘雪问问?所谓最危险的地方就是最安全的地方啊 --------------------编程问答-------------------- 这么多答复,我还是没得到答案 --------------------编程问答-------------------- 核心代码用c写dll --------------------编程问答-------------------- 沒有c++的本事,就是用加密狗或MaxToCode加殼,目前是最好的,並不能說不被破解。。。結貼吧,沒意思了 --------------------编程问答-------------------- --------------------编程问答-------------------- 一般都是混淆器+加壳。 --------------------编程问答-------------------- 被破解的软件那么多~还破不了你的软件了?只存在别人想不想破解~不存在能不能破解~~ --------------------编程问答-------------------- 想得深入点就行 --------------------编程问答-------------------- 我說了,,,不要糾結了 --------------------编程问答-------------------- C#只是个语言.没有什么安全不安全的吧.

就连我现在用的VS也是破解的.... --------------------编程问答-------------------- 哪有这么绝对的啊    --------------------编程问答-------------------- 什么软件呀。还要这样。一般c#写的东西有效期是1到2年。没有保护的必要。 --------------------编程问答-------------------- 怕被反编译~~注册机 可以用C++ 写嘛 --------------------编程问答-------------------- java已经20多岁了,那里已经有无数这种“问题”了。难道现在.net连java的这个“问题”也要无数次回答?

那么,为什么java(或者是.net)会流行呢? --------------------编程问答-------------------- 不用怕  没事的 --------------------编程问答-------------------- 你自己手工把重要方法名、变量名替换成复杂的乱字符串;然后混淆,从国外网站购买正版的,我用的是那个dotf...,不用自带的,升级到最新后再使用;再用加密狗,这样三层就足够了,真正的高手不一定做这种事,何况,就是反编译了,也不是100%被反编译,修改别人代码,还不如自己写。
放心好了,哪些反向工程的高手们,怎么不把windows的dll反出来组装个OS呢? --------------------编程问答-------------------- 看,不用C++吧,关键时候就傻了。 --------------------编程问答--------------------
引用 48 楼 wrongagain98 的回复:
看,不用C++吧,关键时候就傻了。


這個在od里或在ida---f5,,也能分析到 --------------------编程问答-------------------- 43楼说 一般c#写的东西有效期是1到2年。没有保护的必要。是什么意思?我不很理解
--------------------编程问答--------------------
引用 47 楼 from_taiwan 的回复:
你自己手工把重要方法名、变量名替换成复杂的乱字符串;然后混淆,从国外网站购买正版的,我用的是那个dotf...,不用自带的,升级到最新后再使用;再用加密狗,这样三层就足够了,真正的高手不一定做这种事,何况,就是反编译了,也不是100%被反编译,修改别人代码,还不如自己写。
放心好了,哪些反向工程的高手们,怎么不把windows的dll反出来组装个OS呢?


请看reactos。

.net我觉得可以这样处理,先用工具去掉强命名,然后用混淆,记得有一个.net工具,会把.net的汇编语句都处理成它自己的虚拟指令格式,这样.net的反汇编工具就傻眼了。 --------------------编程问答-------------------- C#的东东需要保护吗?这个我怎么感觉第一次听起来呢、 --------------------编程问答-------------------- 同情一个,不过软件被破解只是人家高手想不想的事,而不是能不能的事。 --------------------编程问答-------------------- --------------------编程问答-------------------- 这个问题嘛,简单……

把那些搞破解的人都消灭掉。 --------------------编程问答--------------------
引用 55 楼 shalves 的回复:
这个问题嘛,简单……

把那些搞破解的人都消灭掉。


應該不要程序人員,回到原始社會 --------------------编程问答-------------------- 相对而言。。其实应该卖的是服务吧。。
如果不是。。那么就加壳吧- -
考虑下Shielden或者Safengine Licensor --------------------编程问答--------------------
引用 6 楼 ringobob 的回复:
C#就是本着开源的原则的。如果担心被破解,改用C++或者C吧



这..... --------------------编程问答-------------------- 现在C++的软件都很容易被破解。你以为c#能幸免吗?(相对于干这行的人来说,对我来说就是难啊~)

是否有人愿意破解,最终还是 利益方面的事情……

不过,对于打工的程序员来说,不是说可不加密就可以不加了……哎。 --------------------编程问答-------------------- 可以考虑下MaxToCode 不过我没用过,感觉应该不错 --------------------编程问答-------------------- .NETReactor 支持混淆和加壳  --------------------编程问答--------------------
引用 56 楼 crackdung 的回复:
引用 55 楼 shalves 的回复:

这个问题嘛,简单……

把那些搞破解的人都消灭掉。


應該不要程序人員,回到原始社會


嗯,兄台言之有理。或者不回到原始社会,回到8086之前的时代,大家都用机器代码编程也可以嘛。 --------------------编程问答-------------------- 混淆,加壳,核心源码上多加些影响阅读的无关代码或改用c++之类非托管语言写。如果是商业的,用加密狗。
呃,如果这些都不管用的话,你也不用担心了,有那技术都成神人了,也不会去搞反编译了。别说源码,估计人家看看你的软件就知道你算法了... --------------------编程问答-------------------- 越长大越孤单   --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 在中国想不被破解?难!!! --------------------编程问答-------------------- 没有我能破的软件!!! --------------------编程问答-------------------- 微软的VS都被破解了,你想想就知道啦!! --------------------编程问答-------------------- 什么软件都能被破解 就那么简单   --------------------编程问答-------------------- 总结各位大人的发言,就是混淆+加壳 ,但还是容易被反编译。再请各位说下具体用哪个混淆和加壳工具? --------------------编程问答-------------------- 把exe弄个乱七八糟,然后在写一个壳,在壳中把弄混乱的exe二进制文件还原回来,再用
assembly.load加载,找到EntryPoint,运行就行了。 --------------------编程问答-------------------- 核心东西用c++,加密混淆很多在window升级后会有问题/ --------------------编程问答-------------------- 用C++写核心代码,会出现很多问题???? --------------------编程问答-------------------- Windows都能破解,还有什么破不了的。如果你的软件真能到那个程度,那恭喜你成功了。 --------------------编程问答-------------------- 没有任何软件是不能破解的。。
window,vs,qq..... --------------------编程问答-------------------- 中国还是很多牛人的 --------------------编程问答--------------------
引用 78 楼 lk_cqu 的回复:
中国还是很多牛人的


因為利益 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 绝对安全,没有。操作系统什么写的?还不是照样搞了它。只要是人做出来的,就绝对可以有人去弄死它。 --------------------编程问答-------------------- --------------------编程问答-------------------- 不賣就安全了 --------------------编程问答-------------------- 不听的升级改版,一天一个版!!!!!!!!!!!! --------------------编程问答-------------------- 直接发布一个版本 工具加密 js混淆  --------------------编程问答-------------------- --------------------编程问答--------------------
引用 86 楼 xiaodru 的回复:
直接发布一个版本 工具加密 js混淆


樓主的是C# --------------------编程问答-------------------- --------------------编程问答-------------------- 如果是asp.net用微软的dotfuscator试试,好像用DotNET Reactor会提示使用的是试用版,请联系什么,用Xenocode网上有什么说破解的,都不能用。我也觉得挺郁闷的。 --------------------编程问答-------------------- 找工具,混淆,压缩加壳,不过,绝对不被破解,不可能的  --------------------编程问答--------------------
引用 47 楼 From_TaiWan 的回复:
你自己手工把重要方法名、变量名替换成复杂的乱字符串;然后混淆,从国外网站购买正版的,我用的是那个dotf...,不用自带的,升级到最新后再使用;再用加密狗,这样三层就足够了,真正的高手不一定做这种事,何况,就是反编译了,也不是100%被反编译,修改别人代码,还不如自己写。
放心好了,哪些反向工程的高手们,怎么不把windows的dll反出来组装个OS呢?
       ……


有的。React OS就是一帮人对着Windows反向工程做出来的跟Windows兼容的操作系统。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,