积极答复者
有什么办法能防止别人修改IL

问题
答案
-
程序做了混淆,但还是被别人反编译修改IL破解了,有没有什么办法能防止别人修改IL的?
这儿提供一些我的个人看法,
因为微软NET的机制就是要实现“多平台享用”,因此编译的公共代码IL必然是一个破解的入口途径,基本上无法避免。你想连得微软都被破解了……啊哈哈
如果你一定要100%不能破解,那么必须:
1)制作网页版而不是个人桌面版(因为桌面版exe必然会把IL带出去)。
2)然后重要方法用WCF或者WebService进行处理。
3)防止别人暴力破解,请对请求字符串进行加密处理。
这样基本可以做到别人无法看到源码,何来破解?
希望对您有帮助!不要伤心难过,事物总是两面性的;)
- 已标记为答案 Mike FengModerator 2012年10月8日 12:01
全部回复
-
编译成native code,然后将exe加壳
Mike Feng
MSDN Community Support | Feedback to us
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
微软官方编译native工具就是NGEN。
另外我想说的是,就算你用0101去编写你的程序,一样有人能看懂你写的什么,干什么用。今天你可能用了一个很牛的加壳算法,看似无人能破解,事实上,从事这方面工作的,兴趣爱好者很多,说不定 没过多久一样被破解,加密解密不就是这样一路走过来的么。
你的程序都给人用了,也就是很明确的告诉别人你的整段代码的主要功能是什么了。
Mike Feng
MSDN Community Support | Feedback to us
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
微软官方编译native工具就是NGEN。
另外我想说的是,就算你用0101去编写你的程序,一样有人能看懂你写的什么,干什么用。今天你可能用了一个很牛的加壳算法,看似无人能破解,事实上,从事这方面工作的,兴趣爱好者很多,说不定 没过多久一样被破解,加密解密不就是这样一路走过来的么。
你的程序都给人用了,也就是很明确的告诉别人你的整段代码的主要功能是什么了。
Mike Feng
MSDN Community Support | Feedback to us
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
客户给了钱他想看代码也没什么,甚至很多代码我都乐意在社区共享,但有人拿到你的软件,反编译出IL修改个字符串什么的信息,然后重新编译,当成他自己的软件在卖,心中总会有疙瘩吧
所以我想寻求一种办法,让人家修改得没这么容易,至少不要用 一个软件+VS自带的IL工具+记事本 这么简单的方式就能把我软件里面的某些东西换掉
-
>>客户给了钱他想看代码也没什么,甚至很多代码我都乐意在社区共享,但有人拿到你的软件,反编译出IL修改个字符串什么的信息,然后重新编译,当成他自己的软件在卖,心中总会有疙瘩吧
你这个有点类似于预防山寨,他的代码跟你的重复率达到一定程度了,就侵权了,可以通过法律途径来解决。
Mike Feng
MSDN Community Support | Feedback to us
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
我真心不想让您失望
〉〉至于加壳,微软有没有官方认可的壳?用第三方的壳,要么被360这种流氓误杀,要么就偶尔会运行出错(注:程序没加壳前是正常的)
据我所知,微软没有推出公共的壳,就连很多微软本身的应用也都没有加壳,甚至编译为native code。
当你编译为native代码后,要将它还原为IL代码可不是那么轻而易举的。
Mike Feng
MSDN Community Support | Feedback to us
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
程序做了混淆,但还是被别人反编译修改IL破解了,有没有什么办法能防止别人修改IL的?
这儿提供一些我的个人看法,
因为微软NET的机制就是要实现“多平台享用”,因此编译的公共代码IL必然是一个破解的入口途径,基本上无法避免。你想连得微软都被破解了……啊哈哈
如果你一定要100%不能破解,那么必须:
1)制作网页版而不是个人桌面版(因为桌面版exe必然会把IL带出去)。
2)然后重要方法用WCF或者WebService进行处理。
3)防止别人暴力破解,请对请求字符串进行加密处理。
这样基本可以做到别人无法看到源码,何来破解?
希望对您有帮助!不要伤心难过,事物总是两面性的;)
- 已标记为答案 Mike FengModerator 2012年10月8日 12:01