项目交给客户后,怎么做到源码的保密性

问题描述

如题!!!怎么不被别人盗用。

解决方案

解决方案二:
你是为了防止别人反编译,还是为了防止别人到处复制,安装?防反编译的话,主要是靠混淆器(obsfucate/obsfucator),并且在关键代码处,人工加入一些很奇怪的代码,比如:finalstaticintfoo(intx){return~(~x+1);//恒等式x-1}

x=foo(x)等价于x--;x=foo(foo(x))等价于x-=2;try{if(x==1){thrownewIllegalArgumentException("xcannotbeequaltoone!");}elseif(x==2){returnx+2;}thrownewFileNotFoundException();}catch(RuntimeExceptionex){returnx+1;}catch(IOExceptionex){returnx+3;}finally{}

这样的代码达到switch-case/if-elsif的目的,使得反编译出来的代码可读性很差。对于防止到处运行,主要是绑定MachineID,所谓的MachineID主要是指CPU,网卡MAC,硬盘等信息。这些信息一般都通过JNI获取,可以参考我这个帖子。然后在一些隐蔽的地方,进行这个check。比如,我曾经做过的一个check是放在log4j里面,只不过,那个log4j我是偷换了class文件的。如果为了防止对方试用后不付钱,可以考虑结合系统时间。为了防止对方拨回系统时间,可以考虑每次开始运行的时候记录一下,比较时间有没有大幅回调(一天内的回调还是允许的)。也可以查看系统文件夹下某些文件的最后更新时间。超时之后,决不客气,把数据库drop掉,把服务kill掉....
解决方案三:
道高一尺魔高一丈还是想想怎么把自己东西做的更完美一点。。。
解决方案四:
用混淆器照样能反编译别人要看源代码你也阻止不了

时间: 2024-09-16 06:27:50

项目交给客户后,怎么做到源码的保密性的相关文章

asp.net-模拟登录猎聘网,能取到登录后的HTML源码,但是跳到liepin的时候还是显示登录框

问题描述 模拟登录猎聘网,能取到登录后的HTML源码,但是跳到liepin的时候还是显示登录框 HttpHelper hh = new HttpHelper(); HttpResult hr = hh.GetHtml(new HttpItem() { Method = "POST", URL = "http://www.liepin.com/user/ajaxlogin/", PostDataType = PostDataType.String, Postdata

在ubuntu系统下使用python制作爬虫获取网页运行完js后的网页源码!

问题描述 在ubuntu系统下使用python制作爬虫获取网页运行完js后的网页源码! 求求大神帮忙,小弟跪谢!已经被这个问题困扰了很久,听说selenium可以实现,但是网上的源码都看不懂,希望那个大神能帮帮我,真的很急,谢谢 解决方案 selenium加载页面,这样可以等js执行完了以后,通知你python再去解析

求购 C/C++ 写简单的单机版CRM系统(客户关系管理系统)源码,或者合作!!!

问题描述 如题"求购C/C++写简单的单机版CRM系统(客户关系管理系统)源码,或合作!!!"因自己的产品需要这部分功能模块,希望有开发过此类CRM软件的朋友站内联系我闲置也是闲置,希望也能让您以前的工作成就创造出更大的价值!

CYQ.Data.ProjectTool 项目配置工具发布(包源码)

前言: 一直被网友催,说要更新下 CYQ.Data 的枚举生成器,这工具自从V4.5版本之后,就没再发布过新版本,事实上,我也写了V4.55版本的枚举生成器,主体是感觉不太满意,没多大变化,所以一直没发布. 我们看一下V4.55的枚举生成器界面,相比V4.5好看了一点点,但还不太满意,感觉使用上仍有些不方便.   对使用理念的提升: 自从折腾微博粉丝精灵软件近2年左右,对软件的有了进一步的认识,自己都感觉使用不方便的东西,怎么能拿的出手让用户使用,所以,虽然有新版本,也没发布.   VS 插件的

【COCOS2D-HTML5 开发之三】示例项目附源码及运行的GIF效果图

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos2d-html5/1528.html Cocos2dx html5开发,对于用过2d Or -x的童鞋来说很容易,Himi这里也没有必要去再跟同学们详细的教学一遍. 所以Himi简单做了一个项目,供给大家参考,源码下载地址及GIF截图在文章最后!           强调一点:运行 cocos2dx-html5项目,大家可以本地安装

想找一些比较不错的java开源项目源码看看,能否给我点推荐些java开源项目

问题描述 我做java有六年了,做过不少的项目,积累了些经验,但总是感觉写的东西,没有些太大的变化,写Action,service, dao,一些需求所要的算法啊:接触的框架啊,也是大同小意,什么SSH啊,struts spring mybatis啊,struts1 JDBC啊,现在在看一些shell方面的书,打算下一步去看看模式方面的书,想系统的学习一下,但我感觉还是有点不够,今天突然想到,是否找一些开源的项目看看,看看他们的源码,看看他们写的代码和我的代码有哪些的不同,同样的一个功能,哪些优

实现一个简单的语音聊天室(源码)

语音聊天室,或多人语音聊天,是即时通信应用中常见的功能之一,比如,QQ的语音讨论组就是我们用得比较多的.        这篇文章将实现一个简单的语音聊天室,让多个人可以进入同一个房间进行语音沟通.先看运行效果截图:          从左到右的三张图分别是:登录界面.语音聊天室的主界面.标注了各个控件的主界面. (如果觉得界面太丑,没关系,后面下载源码后,你可以自己美化~~) 一. C/S结构 很明显,我这个语音聊天室采用的是C/S结构,整个项目结构相对比较简单,如下所示:        该项目

实现一个简单的视频聊天室(源码)

       在 <实现一个简单的语音聊天室>一文发布后,很多朋友建议我也实现一个视频聊天室给他们参考一下,其实,视频聊天室与语音聊天室的原理是差不多的,由于加入了摄像头.视频的处理,逻辑会繁杂一些,本文就实现一个简单的多人视频聊天系统,让多个人可以进入同一个房间进行语音视频沟通.先看看3个人进行视频聊天的运行效果截图:         上面两张截图分别是:登录界面.标注了各个控件的视频聊天室的主界面. 一. C/S结构 很明显,我这个语音聊天室采用的是C/S结构,整个项目结构相对比较简单,如

ASP.NET IsLine FrameWork源码公开+文章阅读索引

ASP.NET企业开发框架IsLine FrameWork系列文章已经全部发布完毕,刚刚忙完手头的其他项目,现在把这个框架源码公开,重新上传至GoogleCode,过些时候会考虑开通SVN,看时间了,大家一起交流吧! IsLine FrameWork,它不是行业业务架构,但可以作为程序员开发项目的套件,使用这套底层套件开发系统,可以简化代码,提高代码质量.ILFW主要包括DataProvider.AppLogProvider.ExceptionProcessProvider.HttpConten