教你如何加密/弄乱C源代码

时间:2010-04-13

  下面是一个Step by Step的教程,教你如何把一个清晰的代码变得复杂难懂的。当然,这只是一个“简明教程”了。还是那句话——“本文仅供朋友们“消遣作乐”,如果你要觉得有意思的话,顶个贴。如果你觉得没什么意思的话,一笑了之。仅供娱乐而已,不必太过认真。”

  正常程序

  下面是一个找出素数的程序:

  1.[/c]

  2.

  3.下面我们来看看如何把上面这段代码搞得复杂难懂。

  4.

  5.<h4>步、把for变成while</h4>

  6.通常来说,for循坏要以while循坏简单一些,上面的程序有二重for循环,我们不但要把其变成while循环,而且还要把二重循环的变成一重的循环,然后使用大量的if-else语句来判断。

  7.[c]

  第二步,把循坏变成递归

  递归在某些时候是可以把代码变得简单,但大多数的情况下是把代码变得复杂,而且很没有效率。下面是把上面的while循环变成了递归。变成了递归后,函数的参数都变成3个了。

  1.[/c]

  2.

  3.<h4>第三步,弄乱代码结构/使用没有含义的变量名</h4>

  4.

  5.关于如何弄乱代码结构,其中一个小技巧是,使用“?”表达式代替if-else语句。

  6.

  7.[c]

  第四步,取消临时变量

  临时变量一般用来保存反复使用的一个表达式的值。使用大量重复的表达式来取消这些临时变量的也可以让代码复杂起来。

  1.[/c]

  2.

  3.<h4>第五步,继续弄乱变量名</h4>

  4.

  5.我们知道,下划线是合法的变量名,所以,我们不妨用__,___,____来代替m,t,c。函数名也可以使用下划线来代替。让我们来看看求素数的函数能变成什么。

  6.

  7.[c]

  第六步,移除常量

  在上面的程序中,还有一些常量,你可以通过增加一个宏定义,或是增加一个函数的形参来取代这一常量。

  1.[/c]

  程序到这里应该差不多了。还是那句话——“每一个程序员都有把源代码弄复杂的潜质”,大家好自为之。



  
上一篇:C++中使用Expat解析XML
下一篇:如何在C++中struct与Class的的区别

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料