如何保护您的源代码不被偷走?

标签: 源代码 | 发表时间:2011-07-26 15:02 | 作者:savagezone 華
出处:http://www.cnblogs.com/

几天前,我在Google过程发现叫一个“涟漪勇”网站有一个非常酷的应用:Silverlight工作流图形设计器,找遍国内我还从来没见过这么专业的产品,简直让我惊呆了,地址:http://www.cnblogs.com/rippleyong/archive/2011/07/15/2107560.html#2160786

后来我继续Google,又发现了一个完全一样的东西,是几个德国人开发的:
http://www.silverdiagram.net/Projects/SilverDiagram.aspx

我发了封邮件给这几个德国人,问他们“涟漪勇”是否是他们的成员,得到的答复是No,He is a thief.
我明白了,要么是“涟漪勇”是小偷,要么这几个德国人是小偷,真正的答案,我想大家都知道。

正好我一个朋友也在开发一个蛮酷Silverlight应用,我提醒他最好还是防范一下代码反向工程,他说没问题的,偷去的东西也未必能产生效益,况且代码还在改进阶段,bug还一堆,偷去也没有什么价值,我无语了。或许他看到我这篇文章后会注意一下。


我们来列举一些代码的防范手段吧,欢迎补充。
[客户端代码]
客户端代码指Html\Javascript代码,说实话包括JS加密,客户端没有什么实质性的防范手段,只能自己安慰自己。

[禁止右键、禁止查看源代码、禁止另存为]

<!--禁止复制-->
<SCRIPT LANGUAGE=javascript>
function click() {
alert('禁止你的左键复制!') }
function click1() {
if (event.button==2) {alert('禁止右键点击~!') }}
function CtrlKeyDown(){
if (event.ctrlKey) {alert('不当的拷贝将损害您的系统!') }}
document.onkeydown=CtrlKeyDown;
document.onselectstart=click;
document.onmousedown=click1;
</SCRIPT>
<!--禁止复制-->

[禁示另存为]
在你要保密的网页中加入以下代码:
<noscript>
<iframe src="*.htm"></iframe>
</noscript>
现在如果有人想保存你的网页,等他保存到一部分的时候IE就会帮你告诉他,无法保存该WEB页,并将己保存的那部分文件删除。


[使用微软的脚本编码器Script Encoder]
我还在ASP时代的时候用过这个玩艺,问题多多,往往为了加密把自己的页面都搞得乱七八糟,慎用阿。

[Js加密]
网上能搜出很多,举几个:

JS加密解密大全:
http://blog.csdn.net/aosnowasp/article/details/4305431

常用JS加密编码算法:
http://www.blogjava.net/hadeslee/archive/2007/11/16/160544.html



[服务器端代码加密]

这里有篇文章,可以先看看:
Reflector保护方法初探(转)
http://www.cnblogs.com/guodapeng/archive/2008/04/13/1151306.html

[常用代码保护工具]

1.Dotfuscator Community Edition
我曾在VS2005下试用过,混淆后的Dll基本使用正常,但有的地方会莫名出错,不知道是使用方法不对还是其它原因。

2.XeonCode      
据说混淆的效果比Dotfuscator好,可以加入花代码,也可以打包成native代码,这样根本反编译不了了。
XeonCode Postbuild可以混淆加密、优化,打包文件。

3.MaxtoCode         
这个东西是国人的产品,在不损坏.NET MetaDta的前提下将 .NET IL代码进行加密封装,使 .NET IL代码根本无法被反编译,从而彻底地保护您的知识产权和劳动成果


4.DNGuard HVM
也是国人开发的。

5. IntelliLock/.NET Reactor

6. Remotesoft的Salamander

7. SmartAssembly
大名鼎鼎的red-gate.com开发的产品,无人不知的.NET Reflector就是这个公司的产品,又卖锁,又卖万用开锁器,有够贱的了。

作者: savagezone 发表于 2011-07-26 15:02 原文链接

评论: 29 查看评论 发表评论


最新新闻:
· 为什么我要离开Google、投奔Facebook(2011-07-27 07:27)
· Mozilla拟推Boot to Gecko移动操作系统(2011-07-27 07:25)
· Facebook.com成最易输错域名 Google.com次之(2011-07-27 07:23)
· Google+出现疑似苹果CEO史蒂夫·乔布斯帐号(2011-07-27 07:22)
· Google首席法律顾问:将HTC赶出美国是疯了(2011-07-27 07:17)

编辑推荐:工作五年的回顾和感悟

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

相关 [源代码] 推荐:

开源代码搜集

- friedvan - 增强视觉 | 计算机视觉 增强现实
很早就在导航栏上加了代码这一页,但是一直没有添加内容. 这两天抽空把之前用过,留意过的代码分类整理了一下. 各位如果在平时学习,工作中遇到过对你非常有帮助的代码,请到这个页面下留言,我会不定期整理汇总更新. Tags: open source, 代码, 新闻. zz Google Summer of Code 2011几个感兴趣的项目 (6).

学习dubbo源代码

- - Java - 编程语言 - ITeye博客
1、Dubbo与Spring的整合. Dubbo在使用上可以做到非常简单,不管是Provider还是Consumer都可以通过Spring的配置文件进行配置,配置完之后,就可以像使用springbean一样进行服务暴露和调用了,完全看不到dubboapi的存在. 这是因为dubbo使用了spring提供的可扩展Schema自定义配置支持.

NFS 文件系统源代码剖析

- wuyan - IBM developerWorks 中国 : 文档库
NFS 文件系统是目前最为成功的网络文件系统,在文件共享领域有着出色的表现,特别是 pNFS 的出现,使得 NFS 文件系统在性能和规模上有了大幅提升,为其带了更为广阔的应用空间. 同时,NFS 之所以备受关注,还在于它在 NAS 存储领域的关键作用. 本文剖析了 NFSv3 文件系统源代码,使开发工程师,技术支持人员,特别是存储领域从业人员对 NFS 有更为深刻的认识.

黑客工具SpyEye源代码泄露

- SotongDJ - Solidot
在Zeus之后,另一个黑客工具包SpyEye的源代码也被泄露到网上. SpyEye是Zeus的竞争对手,它甚至可以删除受害者电脑里的Zeus. 它在地下黑客市场的零售价高达500美元. 安全公司Damballa报导,逆向工程师Xyliton破解了用VMProtect保护的SpyEye 1.3.45,发布了SpyEye 1.3.45 Loader源代码,它将允许恶意黑客开发出更复杂更难以探测的恶意程序.

Linux源代码托管在Github上

- wang - Solidot
在kernel.org服务器遭入侵之后,Linux作者Linus Torvalds于9月3日在Github上创建了帐号,将内核源代码托管到了Github. 他在邮件列表上解释说,由于master.kernel.org下线,他建立了一个临时的源代码托管仓库.

源代码管理的十条戒律

- - 搜索引擎技术博客
源代码管理是我们工作中很重的一部分,是很多开发组的生命. 但是我们往往在这方面犯错,不理解很多基本的,核心的版本控制的概念. 我在这里列出了十条建议,可以说是戒律. 虽然我会用 Subversion 和 .NET 来做示例,但这些戒律和你用的 编程语言还有源码管理工具无关. VSS 已死,就让它离去吧.

Android 4.0.3 源代码已推送到 AOSP

- - 谷安——谷奥Android专题站
16日 Google 宣布了 Android 4.0.3,该版本的源码目前已经推送到 AOSP 上,这是目前最新版本的 Ice Cream Sandwich. 这是首次推送了 4 个不同的版本,包括 Motorola XOOM、 Nexus S 和两个 Galaxy Nexus 版本.

Doom III源代码将会随Rage发售开源

- yinhm - Solidot
Shawn the R0ck 写道 "id software的创始人,Doom和Quake的缔造者---John Carmack在QuakeCon 2011上确认今年将会把Doom III源代码开放. Doom III源代码将会随着今年10月份的Rage的发售而一起发布. John Carmack同样在挑战其他的游戏开发者将老游戏的源代码公开,John认为这样可以帮助整个游戏开发社区的发展.

Google公布语音和视频聊天源代码

- 意大利种马 - Solidot
Google在2010年以6820万美元收购了VoIP软件开发商Global IP Solutions,获得了Web即时通信技术WebRTC. 现在,Google在免专利的许可证下发布了WebRTC的源代码,允许开发者在其Web应用中嵌入实时语音和视频聊天功能. 上个月微软以85亿美元收购了VoIP服务商Skype.