快速业务通道

代码加密:糟糕的写法也是一种加密

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-29

哎!

惨……

最近接连维护两个很烦人的项目,我的第一想法就是重写!可是上头的意思是说我的想法太疯狂。

可每次有这种情况我都感觉还是重写划算点……

之前的之前一个东东重写也就一周时间,而上头还是决定用着,对那东东很麻烦怕新写的别人不适应 以及稳定性的担心。而结果就没重写,接下来的几个月我都被那玩意烦。哎

回正题

这两个项目一个是C++的,一个是C#的,两个都是关于网络的。都是非常有各自语言的特色

C++的那个项目是所有要处理消息的函数都是统一的 void xxxx(void* pData);

然后进去就

int* pxx = (int*)pData;

 pxx= XXX(sss);

pData += sizeof int;

SH_XXX* pshxx = (SH_XXX*)pData;

Mxxxk(pshxx,xxxixx);

sss;

Send(g_Buf);//所有处理函数的最后都是这一句

写的是行云流水,酣畅淋漓啊。慢慢看也明白,但是人都容易马虎的,很多时候调的时候一不小心, 就不知道跑哪儿去了。

所有函数使用同一个全局缓冲区,读和写是同时进行的。有可能读了一些东西,偏移一段后进入某个 函数又退回一段距离开始写东西。前前后后,读读写写。哎,烦啊

至于C#的那个,导出是委托,每一个东西都有一个父类。比如

Code;

DoubleCode : Code;

ThreeCode : DoubleCode;

SessionCode : TreeCode;

StreamCode : SessionCode;

而事实上上面的类,每一个都只是在父类基础上加一个属性而已。用的时候经常是base.xxx;经常是类 型转来转去的

很多类都在开线程,而且线程的执行函数是base.xxx

也即是Thread th = new Thread(new ThreadStart(base.Receive));

然后在base.Receive函数又调用子类的DealCode函数处理消息。

哎,让人看着很不爽。经常跟的时候自己都忘了跟到哪里去了。

因为还有很多函数都是“代理函数”,也就是仅仅调用另外一个函数而已;

比如

void Doxxx(object data)

{

     xxxx.Doxxx(data);

}

xxxx的Doxxxx(object data)

{

     yyyy.Doxxx(data);

}

yyyy.Doxxxx(object data)

{

     base.xxxx(data);

}

我就不明白为什么要这样写?规范化?还是为了让别人不容易看懂自己的代码?

或许后者多一点吧?

那既然这样自信就不要推给我来维护啊……

哎……

最近他们又在开动一个疯狂的项目,很担心最后又是我来收摊。

为什么我就这么惨呢?

程序员每天上十二三个小时的班是不应该的……

今天早上想到一个代码加密的法子,那就是将代码中所有的名称(类名,接口名,函数名,对象名, 变量名,函数的参数变量名都不要放过)通通的瞎改。改成下面的样子

void sekrj394329428 siweuirweiru234oodk(vdkdfnsdflk23dfkj dkf8s0fd0dsf,dsfklsdfklje sdfjffjj)

{

      dkf8s0fd0dsf.sl3n34klsfkljdsklfjl();

      sfnekr234l324j = sdfjffjj.skjl3j4klj32lkj();

     dkf8s0fd0dsf.fmnelrwejrkl234 (new skfdjls324jklsjifosjf());

     for(int simrweiro234uo324 = sdfjffjj.gklejlk23j4lk23j4();sdfjffjj.sldkjfkljkl32423kl4(simrweiro234uo324 );simrweiro234uo324 ++)

     {

           dkf8s0fd0dsf.skldfjlsdfjklwjrlw();

}

     return sdfjffjj.sdfkljsdlfjl (sfnekr234l324j );

}

准备以后有时间写这么一个加密的东东出来。没想到老天故意让我不要浪费时间似的,看一个东西时 意外发现已经有人这么弄了……

那就是Xenocode.Fox. 他的库就给改成这个样子了。呵呵

不过有空我还是弄一个出来吧,好好研究下System.CodeDom;自己写的东东用起来更有感觉,呵呵呵

而且可以更加个性化,嘿嘿

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号