做之前没说要源码,做完后要求要源码,除了”不给“这个方案,有什么办法能加密源码?或者不能直接使用或二次开发,老司机!
1
Pandara 2016-06-24 17:07:06 +08:00
代码混淆咯
|
2
ipconfiger 2016-06-24 17:08:58 +08:00
你应该自信的给老板说, 以我代码的混乱程度, 丢给他们谅他们也看不明白....... 自带代码混淆特技功能随时开启
|
3
annielong 2016-06-24 17:12:37 +08:00
既然是要源码,不给和加密源码的方案一个样,真想增加难度就用代码压缩,
|
4
jugelizi 2016-06-24 17:17:09 +08:00
我猜是 php 项目
|
5
plqws 2016-06-24 17:18:05 +08:00
啥外包还不能给源代码…
|
6
qqmishi 2016-06-24 17:22:06 +08:00 via Android
变量名改为拼音首字母缩写。
多用全局变量。 宏满天飞。 说实话,你看看重构和代码整洁之道然后反着来就好了。 要源码就不给他们维护,多简单,给多少钱办多少事,源码维护二选一。 如果是因为双方前期没沟通好导致了楼主对要求的误解的话,请忽略我上面的回答。 |
7
learnshare 2016-06-24 17:27:07 +08:00 1
协议中还是要写明白,是不是要源码的。
|
9
pelloz 2016-06-24 17:33:40 +08:00
混一堆不会被调用也没什么实际功能的几千上万行的函数和类...然后代码混淆,在没有没有开发文档的情况下谁也看不懂.
|
10
rekulas 2016-06-24 17:36:29 +08:00
|
11
mhtt 2016-06-24 19:04:34 +08:00 via iPhone
与其抓破头皮搞这事,不如让一个口才好的商务和他们谈,再要一份代码费,当然如果合同中没有表明代码该属于对方的话,其实代码脱离了商务运作就啥都不是!
@luili 你们遇到的这种的很恶心,数目这么大,对方没什么背景的话,你们可以直接找个律师,和他们搞合同,搞死对方。 |
12
designer 2016-06-24 19:29:03 +08:00
各位,工程师。 HTML 简单的加密方案有没有!
|
13
allenx 2016-06-24 19:30:31 +08:00
代码混淆吧
|
14
dixyes 2016-06-24 20:16:37 +08:00 via Android 3
卦象做函数名
奇门做变量名 你们体会下: int 震(){ int 生=1; int 杜=3; return 乾(生+杜); } |
15
yjxjn 2016-06-24 20:32:02 +08:00
讲真,看项目大小,项目大的话,要是百万行的项目,无所谓啊,只要你公司信誉不差,还会找你们的,因为读代码比写代码更难,再就是文档稍微写简略点,基本没几个人有很大耐心看下去的。
|
16
XianZaiZhuCe 2016-06-24 20:43:24 +08:00 via iPhone
不给源码,如何部署?托管在你们这?
|
18
Felldeadbird 2016-06-24 21:18:55 +08:00 via iPhone
说真的加密代码的外包公司也够坑的。做完这笔人家不会再找你做单子的。
|
20
qnnnnez 2016-06-24 22:23:03 +08:00
|
21
owt5008137 2016-06-24 22:30:52 +08:00 via Android
如果项目小,人家自己再写一遍也无所谓。没啥好保密的,如果项目大,给他们源码不给文档。没有你的技术支持他敢用?修 BUG 或者新需求会搞死他的
|
22
pynix 2016-06-24 22:59:04 +08:00
自带代码混淆技能。。。
|
23
qnnnnez 2016-06-24 23:15:56 +08:00 via Android
|
24
SlipStupig 2016-06-24 23:24:01 +08:00
可以采用以下方法去做(不过代价很高)
1.代码乱序:函数中间可以采用反复回调方式执行,函数名全部随机命名 2.代码膨胀:将条件判断语句进行膨胀,比如 if a == 3 ,变成 if a == 1 : pass elseif a a -2 : a -= 0 elseif a ==3: do, 重载操作符号,将类拆分成多个类,各种集成,对类成员调用只能进行回调,代码中随机嵌入各种无意义指令和变量 3.压缩和加密:先将代码编码转换为 UTF16 、 UTF7 或者用 url 编码,反正任意一种编码方式将代码块进行 AES 随机加密(需要自己定义解密函数),然后把代码用变异压缩算法去压缩(解压函数需要自己写) 如果这么做生产的代码解密都要解半天,各种垃圾代码严重影响效率,最重要的是外包不都是签了协议的么,你这么做不违约? |
25
only0jac OP @Pandara 请教怎么个混淆法?混淆了还怎么编译?
@annielong 代码压缩, ide 一格式化岂不是一点用没有 @jugelizi .net @luili 很纳闷源码混淆了还能编译通过么 @XianZaiZhuCe 编译型 @Felldeadbird 主要是前期没说要代码,我们也没打算给代码 @SlipStupig 没说给代码,不违约的,谢谢,加密后是不是不能运行了? |
26
typcn 2016-06-25 00:43:04 +08:00
@only0jac .net 的话,很简单,你下载一个混淆加密,代码保护工具,把你的二进制保护,比如 SA
然后,你再下载一个反编译工具,把这代码反编译回来 |
27
techme 2016-06-25 00:48:06 +08:00
写个独立的加密器,把项目用到的配置文件加密起来
|
28
zzzvvvxxxd 2016-06-25 00:55:22 +08:00
那么,一汽大众可以买一辆法拉利,要求再来一份引擎和车身的设计图纸吗?
如果要,这可比产品和产品后期维护贵多了哦~ 要钱 不要加密 |
29
ADMlN 2016-06-25 01:19:27 +08:00 via Android
咱向来只用机器码写程序,你用十六进制编辑器打开可执行文件即可获得源码。
|
30
msg7086 2016-06-25 02:57:14 +08:00
@zzzvvvxxxd 如果一汽大众向法拉利外包设计了一辆车,那么
是的,必须提供引擎和车身的设计图纸。 这是看你到底是购买的产品(Buy)还是外包的产品(Outsource)。 比如我要买一个 Windows ,那是$149.99 ,但是我要把操作系统的制造外包给一个公司,那可能就是$49,000,000.99 了。前者你有使用权,后者你有著作权。这是两回事。 |
31
df4VW 2016-06-25 03:36:51 +08:00
外包项目还有不给源码的?
|
32
zetaoouyang 2016-06-25 05:06:53 +08:00
最好的建议:要源码,什么价位, 不要源码是什么价位,把条件谈清楚,写在合同中
|
33
SlipStupig 2016-06-25 07:03:59 +08:00
|
34
xuwenmang 2016-06-25 07:32:35 +08:00
定制软件还有不给源码的?
|
35
zaishanfeng 2016-06-25 08:31:43 +08:00 via Android
这样做, 找几种不同的混淆方法, 每种方法混淆一部分代码, 这样就算他们破解了一种还有另一种 哈哈
|
37
Felldeadbird 2016-06-25 11:28:58 +08:00
在回复一次,如果要加密的话,就自己保留一份源码。然后把程序中的变量,函数等全部混淆。除了这部之外,接着就去实行加密。
例如 PHP 则进行扩展加密。 这样基本可以限制死大部分了。。 最后不论如何,我觉得做外包如果靠加密来维持 售后的话,做得不长久。。。 |
38
only0jac OP @zaishanfeng 混淆后还能直接运行么
|
39
raincious 2016-06-25 11:45:38 +08:00
|
40
EPr2hh6LADQWqRVH 2016-06-25 11:58:33 +08:00
敝帚自珍
|
41
kidult 2016-06-25 12:37:35 +08:00
合同去哪了
如果没有合同的话,当我没说 |
42
jeffery9 2016-06-25 12:49:10 +08:00
鄙视一下,貌似自己写的代码有多牛逼是的, github 上公开的代码多的是 //、 就是拿掉代码,没有相关的文档,想要掌握还是很有难度的 //除非你的代码本身就没有啥价值。。。 哈哈
|
43
qiaobeier 2016-06-25 22:14:54 +08:00
建立良好的合作互利关系->收足预付->完善的合同
|