我是一名黑客

第10章


车子开动了。 
      “你帮我们破译那个程序,你需要些什么条件和工具。我们可以尽量提供”。原来她还是没有忘记她的工作。 
      “你是学什么专业的?不会是刑侦吧?”我问。 
       她一愣,然后说:“你猜呢?” 
      “我觉得你绝对是学计算机的。” 
      “为什么?” 
      “不为什么,就是觉得是。你说对不对吧?”这个倒不是乱说的。学计算机的人遇到一起,几句话可能就能感觉出来。真的。 
      她笑了,没有说话。我想我是猜对了。 
      她现在说话随便多了。“你能不能破译这个程序?“,两个搞计算机的人说话,不需要再说废话了。 
      ”你跟踪过那个程序,感觉如何?“ 
      ”有点难,他做过加密,还有反动态跟踪。我跟了几个星期,实在跟不下去了“。 
      ”看到他的密码算法了吗?“ 
      ”唉,就是没有呀。“ 
      ”其实,动态反跟踪这些,倒是还好办。就怕最后跟出来,加密算法用的是什么世界上的通用算法。这就麻烦了。能不能破译,基本就是看运气了。“大概看我说的东西却是比较内行,现在她完全相信我了。而且开始把希望寄托在我身上了。 
      ”你一定要帮帮忙,这个案件对我们比较重要的。“ 
      ”这个需要时间呀,我慢慢试试看吧。“ 
      很快就到我宿舍门前了,我下车。 
      ”很高兴认识你,我叫林紫嫣。你叫什么,能给个email或者QQ什么的?我把程序发给你?“ 
      我告诉了她的我的名字还有我的电话,以及email和QQ。客套的说:“要不上去坐坐?” 
      “下次吧,bye”她的车已经开动了。 
10. 软件开发部和网络部的战争(3)  
      晚上上网的时候,发现QQ上已经有人请求加为好友了。呵呵,一看,网名叫若烟。可能是林警官吧。同意加为好友之后,一问,果然是她。 
      她迫不及待的把那个filelock程序给发过来。 
      我收了。程序很小,100k不到,只有一个简单窗口界面。我一边和她聊着天,一边调出softice开始跟踪。呵呵,其他不敢说,但是跟踪程序,解密加密还真是我的强项。 
      其实我们国家加密解密的黄金时代应该是使用dos操作系统的时候。那个时候,可以说加密解密就是高手的代名词呀。那个时代,无数的高手投入到这个加密解密的战场上来。那个时候无论加密还是解密,想出来的办法那才真是叫绝呀。现在windows下,程序大了。跟踪程序愈发困难了,还有防盗版的思想从技术层次发展到了法律层次,所以加密解密就弱化了。加上网络的流行,高手们几乎都把注意力转向了网络程序的攻击了。 
      我的加密解密功底就是那个时代练就的。当时解密kv300的钥匙盘,就是我的入门课程,debug就是我的最爱呀。后来硕士毕业论文,我的课题就是加密解密技术探讨。当时提出的一个万能解密技术在国内也是首创呀。我的导师都佩服的不行。 
但是,跟踪程序仍然是非常艰苦的。你不要相信有些人吹牛,说自己一晚上就把一个几百k的程序读懂了。还破解了。绝对是吹牛的。 
      
      我跟了一段之后,还很顺利,但是很快就陷入僵局了。看来这个家伙采用过反动态跟踪技术。我心里有底了。对这个程序,不是普通程序,必须要慢慢来。这个家伙既然写加密程序,对解密绝对也不是菜鸟。解密的那些招数,他会不知道?反跟踪,首先就是反静态汇编。这个技术是加密者所必须的。就是让你反汇编出来的程序你无法读懂。不过,从理论上来说,程序都是可以破译的,因为不管你如何变换,必须要计算机能正确执行。但是让你无法读懂,计算机又能执行,这是容易办到的。比如给你加个1000个无意义的循环。计算机能执行。但是你能读懂吗?你不执行还不行,因为后面的代码必须要通过这个1000个循环来解密。你动态跟踪,他给你加入一些反跟踪措施,比如看内存中是否有调试程序,如果有,立刻拒绝执行。甚至让你的debug死机。甚至更绝的是通过执行时间来看是否跟踪,你如果跟踪,你的时间肯定长,直接连续执行,你肯定短的多的多。当时那帮高手们,当时我崇拜的偶像,现在几乎都是IT界的风云人物了。 而且后面的程序是重新加过密的,执行一段,解密一段。在内存中基本就只能看到很少的明文,全是密文。要对付当时那帮高手,才是真的难呀! 
      我跟踪了一阵那个程序。他的加密方法比较简单,就是使用的反复变换的方法。首先就是对自己进行拉多次变换,就是我们说的加壳。而且他不是使用现在流行的什么arj,什么zip加的壳。而是自己整的一个算法加的。这个程序一共使用了3钟变化方法,加了3层外壳。这些早在我的预想之中,所以,我很快就把他的三个外壳脱掉了。现在内存就出现他的原始汇编代码了。但是事情没有完,他采用了隐含调用方式。也就是当调用程序的时候不是使用call或者jmp等指令。而是拼命往堆栈压入数据,弹出数据,大部分是无意义的数据,根本就是麻痹你的。等你即使是孙悟空的脑袋也该昏了的时候,他才把正确地址压入,使用ret指令就转移了。你根本就看不到一句call和一句跳转指令。 
  
      看了他的代码,有防softice的代码。只要使用softice的跟踪,就死机。呵呵,他的招数比较老,所以我早有准备。我的softice是经过我改造的。他发现不了,所以对付他那些变换招数,因为可以动态跟踪,所以他那些什么隐含调用啊,什么加壳呀,全失去了作用。呵呵。 
我给林警官发消息"你跟踪到什么时候就不行了?” 
      “就是脱壳的关键代码段的时候我的softice就死机了”。 
      呵呵,看来她的softice没有经过改造。当然死机了,每个解密的关键代码前面就有反softice的代码。而且你还不能跳过,跳过,后面就无法解密。当然就死翘翘了。 
      “你跟踪到哪里了?”林MM问。 
      “我?呵呵,脱壳完成了。” 
      “真的吗?你怎么没死机,你用什么跟的?“ 
      ”当然是softice,还有什么?“ 
      ”啊,你如何跳过他的反跟踪手段的呀?“ 
      ”我就一直跟呀,就没死机。“我故意装糊涂。呵呵,我怕她问我要那个程序。到时候不好推迟。真正的黑客是不会轻易把自己的工具送人的。况且对方还是个警察。 
     ”呵呵,你骗我。“ 林MM当然知道怎么回事。笑笑,也没继续问了。 
      ”你干警察多久了?” ,我一边继续跟踪已经脱了壳的程序,试图找到他通过解密文件的代码。 
 
      “一年多点儿”。她回答,“你觉得破译有希望吗?”她总是关心她的工作。 
  
      “你什么学校毕业的呀”,我无聊的问。同时自己使用那个软件,加密了一个文件。然后使用这个软件打开她,输入密码,试图找到她校验密码的过程。 
      “你查户口呀,要查户口我可以帮忙”消息后面跟了个俏皮的笑脸表情符号。 
      呵呵我回了个红脸的符号。 
      这个时候我发现了filelock程序的密码变换代码断。同时也发现了密码在文件中的位置。当然是经过加密变换的。 
      只要把这段密码变换代码读懂,如果不是很难的算法,基本就能解决了。我心里高兴起来。 
      ”我找到密码变换入口了“。我给林MM发消息。 
      “太好了。真的吗?”我几乎能感到她的兴奋。她是懂行的,知道找到密码变换入口,几乎就成功了一大半。 
      “别高兴的太早,看她的密码变换算法了。god bless you"。我必须要泼泼冷水。其实说实话,对这个程序,才几个小时就能跟踪到密码变换部分,已经大大出乎我的意料了。可以看出其实这个程序本身也不是非常严密,毕竟只是网上的一个加密程序。又不是商业程序,说不定就是一个初学加密的人搞的试验程序。 
      我本来是做好通宵战斗的准备的。现在看来,似乎是非常的顺利。 
      我倒了一杯水,开始慢慢的喝着,一边尽下心来开始读那段密码变换程序代码。根据我的经验,真正考验毅力的时候到了,因为这是密码变换,你必须每句每句都读懂。
小说推荐
返回首页返回目录