强调一下是代码加密,不是软件加密。
首先,说下为什么需要这个,上次外出调试,期间WC了一下,结果客户趁机偷偷的将我的源代码拷贝到了自己的U盘上,后来无意中发现了,要都要不回来。为了以后不出现这种事,也不伤了客户的和气,请问各位有没有什么解决方法或措施?
之前有人说过用rar压缩加密,好像不是很好。解压后也是暴露出来的。
另外问一下bcb有没有什么类似的插件辅助加密的?谢谢!
方法不限,希望大家各抒己见。谢谢!

老大,人不在的时候怎么保证,而且计算机是别人的,这个是现场调试哦,哎

现场调试?
要那样的话,把代码关键部分都用lib dll什么的来做。只调试有问题地方的代码

要不干脆去两个人得了。

现场调试难道带的不是自己的电脑?如果是自己的电脑为什么不锁屏?

人在电脑在,人不在电脑锁。
Win + L才是王道。

出差的时候,我的设置是一分钟进入屏保,起身之后稍稍消磨一会,电脑就进入保护状态。

现场调试,用的工控机,需要在主板上插采集卡,我就算带了本本也不可能插采集卡,所以用的是别人的电脑,哎
还有什么好的建议没?谢谢了,呵呵

另外就是,出差的时候,即便要访问网络资源,也是通过工具来进行主动性的资料传送,或者要求对方提供访问权限,尽量不主动提供访问权限给别人。

僵哥最后的话有点不太明白哦?能说全一点么?或者举例?谢谢!

不要把源码都放在一个目录中.

引用 7 楼 touyunnaozhang 的回复:
现场调试,用的工控机,需要在主板上插采集卡,我就算带了本本也不可能插采集卡,所以用的是别人的电脑,哎
还有什么好的建议没?谢谢了,呵呵

Remote Debug.

源代码只要复制到客户的机器上(包括调试的那台),即使事后删除了这些源码,客户仍然有90%的机会可以找回这些文件。除非粉碎一下。

僵哥的意思我明白了,就是要我远程调试啊,问题是好多实验室不能上网的……
妖哥的建议确实我当时疏忽了,以前都是直接删除的没粉碎,客户要恢复,估计能找到,还好好多客户不聪明,汗啊,以后注意!

引用 13 楼 touyunnaozhang 的回复:
僵哥的意思我明白了,就是要我远程调试啊,问题是好多实验室不能上网的……
妖哥的建议确实我当时疏忽了,以前都是直接删除的没粉碎,客户要恢复,估计能找到,还好好多客户不聪明,汗啊,以后注意!

你不是已经带了电脑过去了吗?把你的电脑连接到客户的机器不就好了?

明白,就将客户端的数据采集过来然后转给我,那就需要在客户端做一个采集转发的程序,是吧?方法可行就是有点麻烦,呵呵!

以上的各位意见让我的思路开阔了很多,还有更好更新颖的思路么?奇怪的也行呵呵!

出差的时候,我的设置是一分钟进入屏保,起身之后稍稍消磨一会,电脑就进入保护状态。

写些别人看不懂的代码..
把自己的文件全部隐藏起来,

代码在u盘里或者移动硬盘中调试,人离开,就拔掉,或者u盘、移动硬盘加密。

我看你不如做个加解密程序:
  自己要用时运行你的加解密程序解密你的代码到内存文件中,保存时再从内存中加密到磁盘中。就算被COPY了也是加过密的文件,打不开;而已加密的文件是在内存中,只要不是那种永久性内存,你说,还用进行文件粉碎吗?

两种方案:
(1)用移动硬盘或大U盘,随身带,最简单了.
(2)用PGP软件加密
以前我们经常用pg8.1,现在应该有更新的版本了吧.
这个软件可以建立一个加密文件,你所有的资料可以保存在其中,需要
时候由PGP加载这个文件,输入密码,它就变为一个虚拟的硬盘,你可以
像本地硬盘一样使用它们,由于所有的文件保存在这个虚拟盘上,不用担心
资料的安全.调试完后,把这个文件拷回去就行了.
虽然客户也能拷走这个文件,但没有密码和证书,是无法解开的,据说军方
的加密用的就有这个系统.

呵呵,一夜之间,多了这么多建议,很不错啊,感谢大家!
楼上的那位说的PGP软件似乎很不错,我去搜搜看,谢谢了!

客户也窃取源码?

:-)

看来要多留心啦

to geochway:
  我找了半天找到的都是关于PGP的教程,软件还没找到,麻烦你发一个过来吧,要免费的(破解),如果顺带发一下你那个版本的教程,就更好了,呵呵,谢谢!
  plyx300@sohu.com
 

通常我只把EXE文件给对方,调试都是在自己的电脑中完成的,关键是程序编写完了,要仔细查看代码,确实代码无误;至于在对方机器上试验程序,那只能自己小心点了,或象我以前的程序把HPP文件都改写了,或用自己的HPP文件,对方拿到了也不明白这些代码的具体含义,就象WMP组件,我用的是FULLSCREEN=3来实现全屏,就是告诉对方,他也不明白是如何得到的,因为我改动了WMP的HPP文件

楼上的,呵呵,我调试的地方和工作地点很远,去一次差不多要一天的时间,好多东西没有真实的板卡采集信息是不可能调试的,所以调试的过程中是必须改代码的,呵呵。至于你说修改HPP文件,到还不错,呵呵,可以试试。
另:HPP文件好像是delphi写的吧,呵呵,那个东西我的熟练度还不够,惭愧啊!

推荐一下这个帖子,呵呵。

呵呵,如果以后自己碰到了 也可以解决下的哦 ,呵呵

刚开会回来,呵呵,帖子受到妖哥老大的推荐,荣幸啊,哈哈

现场调试带自己的电脑,锁屏。其它好像没有办法。

1、远程调试
2、自己写个加密软件,多代码加密
3、禁止使用U盘
4、禁止使用网络

5、代码多用不容易找到和不容易安装的控件

关键的地方最好做成dll

把代码存储在U盘里,工作时插上,其他时间拿下,可要小心U盘丢失或损坏。

C++代码量不大,可以将输出(.obj等)均指向磁盘。

周末上不了,早上来公司又掉线,现在终于能上网了。呵呵大家都很积极啊,U盘存代码我以前也常用,但是U盘很慢啊,大一点的工程编译起来就很费时间了,呵呵。
31楼的兄弟你什么都禁止了,代码如何拷贝到调试的机器上?呵呵!

场调试?
要那样的话,把代码关键部分都用lib dll什么的来做。只调试有问题地方的代码

要不干脆去两个人得了。

  程序写好了,也就参数不一样吧。把参数写到一个文件,然后调试的时候改文件。

引用 35 楼 xinghongyang 的回复:
场调试?
要那样的话,把代码关键部分都用lib dll什么的来做。只调试有问题地方的代码

要不干脆去两个人得了。


两个人去和一个人去,成本是完全不一样的。

用個U盤就好了,將編譯的中間文件及結果文件放在本地硬盤上,編譯速度並不慢。

做lib或dll只能分開模塊,當你不知道哪個模塊出問題時,調試時還是得要全部源碼。
如果知道問題出在哪個模塊,用LIB與DLL可以只調試某一模塊,從而保護其他代碼。

另一種辦法是做偵錯模式,偵錯模式中開啟log日志,龐大的日志中記錄了所有的內容,讓用戶開啟偵錯模式來運行,然後將日志傳回分析。一般情況下根本就不用做現場調試。

这么多保护源码的方法,都有一些作用。不过值得提醒的是,用软件加密容易丢失文件,一旦你的加密软件出现问题可能导致你被加密的文件再也打不开。

提醒各位对源码有保护意识的朋友,在想着保护源码不被他人拷贝的同时,也要保证源码能够给自己正常使用,避免出现意外而使源码被破坏(一旦自己都用不了了,带来的损失恐怕不比被他人拷贝小)。

伤和气怎么地?? 难道不改伤和气??

感觉只有磨时间,设个1分钟屏保,想出去的时候先磨会时间,到屏保时间再出去。。。。

也有这样的透明加密软件,好像"铁卷"就是
安装之后,把cpp h hpp加密, 指定CPP和.h,.hpp只能由CB打开.
别人如果复制, 都是加密的, 你自己用的都是临时解密后的.

to PPower:
    兄弟,没想到你也来我的帖子逛逛了,呵呵,昨天没上班,在外面跑了一天,累哦。
to cczlp:
    你说的这个东西感觉也不错哦,我找找啊。呵呵

看来以后要注意这些了,我一般是离开久一点就锁屏

昨天朋友给我一个帖,感觉和这个也有点联系,贴出来给大家分享下!

晕,竟然没贴上,重发下,看来对这个插入链接不太会用,老土了……
http://bbs.pediy.com/showthread.php?t=66743

代码放移动硬盘里,人走把硬盘带身上。。快向你老总申请经费买移动硬盘吧。。。

需要2个人,保证每秒钟都至少有一个人是在电脑旁的

人在电脑在,人不在电脑锁。

哈哈,楼主还是没得经验。我的代码从来不怕他们拷贝。写代码尽量保证复杂,即使他们拿到也看不懂,复杂但结构一定要好,复杂只是在调用过程中。尽量用些多线程,做一份带注释的 自己用 一份不带注释的,外出用。
另外就是编程技巧的应用,编程技巧上用好了,细微之处才显真功夫。我读研学习期间,把自己代码给了同事,给他讲了好几遍结构,结果过了一年我回去时,他突然问我一个小问题,一个开关变量他没看懂,我为了避免线程访问数据冲突,设了一个变量进行访问的切换,就这一点 搞得他等了一年!!

楼主一定要写得多一点啊

关注!

我的电脑一般都是不会锁的,锁了感觉也没有什么。

此贴要顶  此贴要顶

大家顶起来

呵呵早上来一看,竟然发现帖子又有好多人回复,昨天看没什么回复率,还在考虑是否结贴呢,但是又怕结贴后好多人想看的却看不到,所以又忍了一天。希望有奇妙想法的人,踊跃回复哦,我再继续找方法。

关注下,,,,

引用 5 楼 ccrun 的回复:
人在电脑在,人不在电脑锁。
Win + L才是王道。

这个不错

不过,话说回来了,你写的那点破代码有什么技术含量,还保护什么?有技术含量的让他看又怎么着,他能懂里面的意思?
更何况,你用的架构,个人开发习惯,别人懒的要

引用 5 楼 ccrun 的回复:
人在电脑在,人不在电脑锁。
Win + L才是王道。

up

看情况把 我觉得
要源代码的客户毕竟少 如果想要何不和你说 还偷偷摸摸的拷贝 不厚道

关注,学习!

关注!要保护好自己的电脑

人在电脑在,人不在电脑锁。

管好自己的计算机就好了,呵呵

可以用那种加密狗,就想u盘一样,插上的时候,才能把你的模块,显示成正常的字符,负责就是乱码

关组

只能管好自己的计算机

代码很重要,保管是关键,感觉只能靠人来处理。

呵呵,实在不行少用成型函数,所有代码全部放在主程序下面,不怕代码太长
其实一般的客户不至于这样的,即便对方这样做(或不这样做),他下次也不会再因为同一样程序找你,而他出去卖这个程序的可能性不太大,多数可能也是一种爱好,想看看你是如何写的,也有可能想自己维护省点钱:(

我们以前做现场开发,也是在客户的工控机上,所有的东西都在客户机器上,只是不定期地往自己公司备份一下

该回复于2008-07-02 18:15:41被版主删除

我觉得吧,刚去的时候可以在聊天这余让客户们知道拷贝别人的代码有多么严重,再些例子来吓唬一下。

把代码关键部分做成dll即可。

引用 50 楼 wq_quake 的回复:
哈哈,楼主还是没得经验。我的代码从来不怕他们拷贝。写代码尽量保证复杂,即使他们拿到也看不懂,复杂但结构一定要好,复杂只是在调用过程中。尽量用些多线程,做一份带注释的 自己用 一份不带注释的,外出用。
另外就是编程技巧的应用,编程技巧上用好了,细微之处才显真功夫。我读研学习期间,把自己代码给了同事,给他讲了好几遍结构,结果过了一年我回去时,他突然问我一个小问题,一个开关变量他没看懂,我为了避免线程访…

同意一下
一般开发的软件,因为是不同的团队,有不同的开发思路
如果没有开发文档,估计研究也要好一段时间吧
拷了源码应该没什么用

不知道你的客户水平到什么程度,有空的时候试他一下

关注下。。。。。。

该回复于2008-07-02 18:16:25被版主删除

我想还是自己小心点为好

pgp是没有免费的了. 而且这东西还挺贵.
gnupg是个开源的PGP的说, 不过, 这东西是命令行的, 可能有界面的但没见过.

不过, 关于加密盘有个更好的选择的说.
TrueCrypt 开源,免费. 一切都很完美, 建议楼主考虑.
www.truecrypt.org

引用 66 楼 hurry281 的回复:
可以用那种加密狗,就想u盘一样,插上的时候,才能把你的模块,显示成正常的字符,负责就是乱码

对移动硬盘或大U盘进行加密。

代码加密有可能对源代码造成破坏的,毕竟代码加密方面还有很多不足。

关键代码放在网络上,给客户调试的时候从网络上读取代码。
不知道这样行不行。

这两天有点事要处理,而且是周末没时间来,今天上来发现一下子多了好多回复哦,大家都挺热情的哦!谢谢了!
to coolstar14:
  谢谢你的建议,我去看看啊!呵呵!

赞同一下win+L是最节约成本的方法
我们公司也存在这个问题,源代码能直接看到,现在也开始转成用可编译的重写.安全很多
关注20楼的方法,有意思.

另外帖子刚加到200分了,现在已经是85楼了,看来有希望突破100楼哦!呵呵!

刚试了下,TrueCrypt 是个不错的东西,很好用,也很简单。我给大家推荐下!

人在电脑在,人不在电脑锁。

经一事,长一智

顶一下,突破90楼,这两天怎么没人了?如果没人的话,100楼就结贴了!

ddddddddddddddddddd

楼主结帖时注意一下,这个帖子里有太多的人灌水,灌水的回复就不要给分了,不然回头我还得处理。

楼上的好心肠啊

行,我会着情考虑的,不会淹没了那些有功劳的人的,特殊情况我会另外开贴给分的。

行,我会着情考虑的,不会淹没了那些有功劳的人的,特殊情况我会另外开贴给分的。

直接休眠吧。真的,其实你搞太多,则可能漏洞更多。
本子的话,直接合机好了。

安全不一定要加密

技术上永远不能完美解决,需要的是一个合理的行为,比如两个人。

引用 50 楼 wq_quake 的回复:
哈哈,楼主还是没得经验。我的代码从来不怕他们拷贝。写代码尽量保证复杂,即使他们拿到也看不懂,复杂但结构一定要好,复杂只是在调用过程中。尽量用些多线程,做一份带注释的 自己用 一份不带注释的,外出用。
另外就是编程技巧的应用,编程技巧上用好了,细微之处才显真功夫。我读研学习期间,把自己代码给了同事,给他讲了好几遍结构,结果过了一年我回去时,他突然问我一个小问题,一个开关变量他没看懂,我为了避免线程访…

我赞成这种做法

TrueCrypt这个东西怎么用啊?有不有说明啊?

TrueCrypt支持各国语言,有汉化包,你把它汉化了就知道怎么用了,还有如果还不会你可以直接搜索教程,这个东西有教程的,网上很多。
好了,100楼了要结贴了!

帖子结完,按照信息的可用信程度分别给了20,10,8,5,3,1分,纯粹灌水没分!有意见的可以提!呵呵!

我从来不担心自己的代码泄漏,因为现在用的架构都是通过代码+数据库动态产生,即使他拿去了也很难看懂。别人买了我的系统后要源代码的到现在都不敢改。

最核心的东西全部写成控件,而且几乎没有注释,控件的保密性就不用说了吧,出去的电脑上根本就没有源代码。

后台核心部分用存储过程,提交的时候删除所有注释,让他们慢慢看吧。曾经出现过加密存储过程被破打开的情况,但是对方打印出来发现A4纸横向有40多爷,没有注释,不得不放弃。

不过,简单保密最好:

1、全部用自己的设备,不允许对方访问自己的电脑
2、传给对方电脑上的都是EXE、OBJ、DCU等文件,最多HPP文件
3、电脑要保证物理安全,否则没戏,艳照门就是这样的例子