r**********9 发帖数: 174 | 1 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读
懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢 |
v*****r 发帖数: 1119 | 2 这么些就可以了:
\
int
_,l;\
char*I,
*O[]={"",
"gjstu","t"
"fdpoe","uij"
"se","gpvsui",\
"gjgui","t"
"jyui","tfwf"
"oui","fjhiui",
"ojoui","ufoui",\
"fmfwfoui","uxfmgu"
"i","b!qbsusjehf!jo!"
"b!qfbs!usff/\xb\xb",""
"uxp!uvsumf!epwf"
"t-\xb","uisff!gsf"
"odi!ifot-!","gpvs!d"
"bmmjoh!cjset-!","gjwf"
"!hpme!sjoht<\xb","tjy!h"
"fftf!b.mbzjoh-!","tfwfo!t"
"xbot!b.txjnnjoh-\xb","fjhiu"
"!nbjet!b.njmljoh-!","ojof!mbe"
"jft!ebodjoh-!","ufo!m"
"pset!b.mfbqjoh-\xb","fm"
"fwfo!qjqfst!qjqjoh-!","ux"
"fmwf!esvnnfst!esvnnjoh-!",""
"Po!uif!","!ebz!pg!Disjtunbt!n"
"z!usvf!mpwf!hbwf!up!nf\xb","boe"
"!"};int putchar(int);int main(void
){while(l<(sizeof O/sizeof*O-2)/2-1){
I=O[_=!_?sizeof O/sizeof*O-
3:_<(sizeof(O)/sizeof*O-2)/2?
sizeof O/sizeof*O-2:_==(sizeof(
O)/sizeof*O-2)/2?++l,0:_<(sizeof(
O)/sizeof(*O))-3?(_-1)==(sizeof(O)/
sizeof*O-2)/2?sizeof O/sizeof*O-1:_-1
:_
/sizeof*O-1?l+(sizeof O/sizeof(*O)-2)/2:(
sizeof(O)/sizeof*O-2)/2];while(*I){putchar(
*I++-1);}}
return 0;}
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
l******e 发帖数: 12192 | 3 这个用一个re script立马搞定呀
根本没难度
【在 v*****r 的大作中提到】 : 这么些就可以了: : \ : int : _,l;\ : char*I, : *O[]={"", : "gjstu","t" : "fdpoe","uij" : "se","gpvsui",\ : "gjgui","t"
|
S*********g 发帖数: 5298 | 4 这个太没戏了,随便一个软smart indent一下就解决了
【在 v*****r 的大作中提到】 : 这么些就可以了: : \ : int : _,l;\ : char*I, : *O[]={"", : "gjstu","t" : "fdpoe","uij" : "se","gpvsui",\ : "gjgui","t"
|
h*******s 发帖数: 8454 | 5 如果公布,人家花时间读怎么都能读懂吧
在topcoder上看有的人的代码好像是拿软件给弄乱的,你找找这种软件?
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
d****p 发帖数: 685 | 6 It would be sufficient to rename all function/variable/class names.
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
g*****g 发帖数: 34805 | |
n******t 发帖数: 4406 | 8 这事看你水平了。。。如果你的水平比看的人高不少,你可以搞得他欲哭无泪。如果你
比别人水平低很多,那这只是雕虫小技没用。如果水平差不多,可以搞得他比较郁闷,
但是也就是多花点时间而已。
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
x****u 发帖数: 44466 | 9 WSN玩这种小把戏是没前途的。
【在 n******t 的大作中提到】 : 这事看你水平了。。。如果你的水平比看的人高不少,你可以搞得他欲哭无泪。如果你 : 比别人水平低很多,那这只是雕虫小技没用。如果水平差不多,可以搞得他比较郁闷, : 但是也就是多花点时间而已。
|
k****f 发帖数: 3794 | 10 先编译成二进制代码,然后用工具把二进制代码翻译成C,
肯定没有人能够读懂的
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
|
|
b**********t 发帖数: 57 | |
N***m 发帖数: 4460 | 12 你以为他想用开源阿
【在 b**********t 的大作中提到】 : 干吗还要开源,这样岂不是有点萎缩了。
|
b******n 发帖数: 592 | 13 change variable names..normally I found non-sense variable names make code
very difficult to read
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
l******e 发帖数: 12192 | 14 good tip
hehe
【在 b******n 的大作中提到】 : change variable names..normally I found non-sense variable names make code : very difficult to read
|
v*****r 发帖数: 1119 | 15 Pretty sure yourself will get confused very soon.
【在 b******n 的大作中提到】 : change variable names..normally I found non-sense variable names make code : very difficult to read
|
l******e 发帖数: 12192 | 16 you can have your own version documented. hehe
【在 v*****r 的大作中提到】 : Pretty sure yourself will get confused very soon.
|
p***o 发帖数: 1252 | 17 Good one, so we can also use identical names for functions
and let compiler to decide what to call.
【在 b******n 的大作中提到】 : change variable names..normally I found non-sense variable names make code : very difficult to read
|
b******n 发帖数: 592 | 18 actually I found it is difficult to name variable myself as well. I very
much envy people who can name their variable to perfect. A dictionary is
very necessary for programmer.
【在 p***o 的大作中提到】 : Good one, so we can also use identical names for functions : and let compiler to decide what to call.
|
d****p 发帖数: 685 | 19 Agree - naming is a part of design. If you feel confused about choosing a
good name, chances are your design
model is not straightforward and clean.
Very often, if names appear too long, like
isLockReleasedWhenCurrentClientWasDeletedByAReferencingClientInPassiveInvoca
tion, you need to refactor
stuff more or less.
My experience is if we don't shorthand names while the name appears
reasonably long (< 15/20 chars),
perhaps we get things right.
【在 b******n 的大作中提到】 : actually I found it is difficult to name variable myself as well. I very : much envy people who can name their variable to perfect. A dictionary is : very necessary for programmer.
|
a********n 发帖数: 1287 | |
|
|
v*s 发帖数: 946 | 21 1)增加一堆无用的类。
2) 在真正有用的代码里面,增加无用的代码,调用那些无用的类。
3)所有名字全部用任意数目的下划线代替。
int _(int __, int ___)
{
return __ * ___;
}
这可能太明显了。那就用随机的名字取代所有的名字。
对于1) 可以找个已有的大型开源代码,然后把你的代码混进去,用数量取胜。 |
z*p 发帖数: 485 | 22 1. arbitrary variable names
2. super large class and methods that does everything
3. code duplications
4. tie everything together, do not encapsulate
these will make anyone who reads your code want to kill you :) |
N***m 发帖数: 4460 | 23 2-3 can be optimized by independency check.
It seems that 1 is enough for normal people, excluding aliens.
【在 z*p 的大作中提到】 : 1. arbitrary variable names : 2. super large class and methods that does everything : 3. code duplications : 4. tie everything together, do not encapsulate : these will make anyone who reads your code want to kill you :)
|
S*********g 发帖数: 5298 | 24 1也没啥太大用处。
我曾经改过一个程序,所有数据放一个大table,叫data的。
【在 N***m 的大作中提到】 : 2-3 can be optimized by independency check. : It seems that 1 is enough for normal people, excluding aliens. :
|
N***m 发帖数: 4460 | 25 我不太明白为啥1没啥大用?具体说说?
感觉如果变量名乱七八糟的,别人很难理解思路,
相当于设置了很多陷阱,要花很多时间才能理解。
【在 S*********g 的大作中提到】 : 1也没啥太大用处。 : 我曾经改过一个程序,所有数据放一个大table,叫data的。
|
S*********g 发帖数: 5298 | 26 能看懂的根据前后逻辑关系还是能看懂
【在 N***m 的大作中提到】 : 我不太明白为啥1没啥大用?具体说说? : 感觉如果变量名乱七八糟的,别人很难理解思路, : 相当于设置了很多陷阱,要花很多时间才能理解。
|
h*******s 发帖数: 8454 | 27 要是短时间可以拿trigraph吓唬一下人,哈哈
一看代码,全是问号
【在 S*********g 的大作中提到】 : 能看懂的根据前后逻辑关系还是能看懂
|
P********e 发帖数: 2610 | 28 增加layers of indirect
多农几层,不晕才怪
请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读
懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
g*****g 发帖数: 34805 | 29 ft, 一个obfuscator不就解决了吗?
这种用标准方案的东西还讨论得这么来劲。 |
P********e 发帖数: 2610 | 30 感念是这样
上面方法都是obfuscating
ft, 一个obfuscator不就解决了吗?
这种用标准方案的东西还讨论得这么来劲。
【在 g*****g 的大作中提到】 : ft, 一个obfuscator不就解决了吗? : 这种用标准方案的东西还讨论得这么来劲。
|
|
|
s*****n 发帖数: 169 | 31 dont you have code review? wake up. You will get fired. |
l*********s 发帖数: 5409 | 32 compile it to machine language --> translate it back |
c**b 发帖数: 2999 | 33 这个太容易了,多定义一些变量,array,string,class,多搞些magic constant,反正就是
让人觉得这个整数怎么突然就出来了.如果程序一长,看的人就烦了.
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|
r*****l 发帖数: 2859 | 34 我读过这样的code。的确极难懂。我后来是对照一个旧版本,名字还是好的时候的code
,才搞明白。
【在 d****p 的大作中提到】 : It would be sufficient to rename all function/variable/class names.
|
g*******e 发帖数: 3013 | 35 变量,函数名换换就够可以的了,看看google。com source code。
【在 r**********9 的大作中提到】 : 请问各位高手, 如果程序的源代码必须完全公布, 但是由于特殊需要需要别人难以读 : 懂, 怎么样写比较好呢? 是不是放弃oop 比较好。 程序是用c++写的。 谢谢
|