请安装我们的客户端
更新超快的免费小说APP
添加到主屏幕
请点击,然后点击“添加到主屏幕”
到的情况和自己的一些想法都毫无保留地说给周松听了。周松听着听着,他的眉头也皱了起来,看样子,这次遇到的情况非常扎手。他一边听着黄飞的讲解,一边亲自把他已经进行过的操作再重复了一遍,熟练地下断点,跟踪调试,顺利脱壳一系列动作让围观的几个人眼睛一亮,从这点可以看出,周松并不是沽名钓誉之辈,至少他还是有点专业技术的。黄飞反而一副理所当然的样子,表情没有什么变化,倒是那个年轻人,脸上露出讶然的神色。
在cpu中存在两种中断:int 1和int3。int 1即单步中断,它是由机器内部状态引起的一种中断,当cpu中的标志寄存器tf被置位时,就会自动产生一次单步中断,这个时候,cpu在执行一条指令之后就会停下来,并且显示各个寄存器中的内容。int 3即断点中断,这是一种软中断,当cpu执行到这个软中断点的时候,就会进入断点服务程序,由断电中断服务程序完成对断电处各寄存器内容的显示。
用来跟踪调试的软件就是利用了这两种中断,通过单步执行或者下断点执行,达到跟踪调试的目的。利用这样的软件每执行一次指令之后,就可以停下来查看cpu各寄存器的状态,从而找出破解的方法。
反跟踪技术在加密技术中是最能体现技术水平的部分,稍有漏洞就会影响到整个加密技术的可靠性。加密与解密天生就是一对矛盾体。有加密必然会有解密。为了破解加密的内容,解密者必然是想尽一切办法,无所不用其极。而为了提高加密技术的可靠性,加密者则千方百计的阻挠解密者的解密进程。明明是一个简单的算法,他偏偏弄得异常复杂,就是不让解密者顺心。你来动态跟踪,想要破解?我就加入一些反跟踪措施,例如看内存中是否运行了调试程序,如果发现,则立即拒绝继续执行,甚至让你的跟踪调试软件挂掉。你想躲过我的反跟踪检测代码?那也没门,我每隔一段时间就来看看,看你怎么搞。反正我就是要让你不顺心。
“他这段反跟踪代码很巧妙,跟到这里就把softice搞挂掉了。除非有一个改编过的调试软件。”终于到了黄飞到达的地方,事实和他说的一样,这个时候softice软件突然报错停止运行了。
不过经过黄飞这么一提醒,周松想起自己还真有这么一个软件。那是师父许毅给他的,说是经过他亲自重新修改并编译过的,可以解决一些意想不到的错误。由于平时周松从来没有遇到这样的情况,他渐渐地忘记了那个软件和网上流传的软件有什么不同。
既然想到这点,周松也就不再迟疑,他连上网络,从自己的“网上硬盘”中将那个软件给下载了下来。在网络上建立自己的工具箱,这是许毅告诉他的。他说身为一个黑客,应该只要有网络,就能随时随地拿到自己的黑客工具。
看到周松的动作,黄飞知道这事有戏了。他转头,朝董立国点了点头,然后继续盯着显示器。
董立国见状显然大为高兴,仔细看去,竟然可以看到他的手在微微颤抖。那个年轻人看着周松那熟练的动作,脸上阴晴不定,当他看到黄飞的动作时,眼睛中更是寒光一闪。
软件下载之后,周松便重新开始脱壳,这次果然非常顺利地将第三层壳脱了下来,第一关算是通过了,众人都感到非常高兴。周松也偷偷地松了一口气,不知不觉中他的后背已经汗湿了。心中暗道,幸好平时师父给自己做的那些千奇百怪的功课自己都原原本本地完成了,要不然今天可就要出洋相了。
脱壳完成,密码入口已经显示出来。周松一鼓作气,继续进行跟踪。很快,他就确定了那段密码验证代码,关键算法段也找到了,剩下来的工作就是破译密码了。不过前面三层加壳都显示这个加密软件的作者非常厉害,所以周松和黄飞心里都对后面的进展不太乐观。
已经找到关键算法代码段,也就是说真正考验毅力的时候到了,因为这里是密码变换,破译者必须逐句逐句地读懂代码,不像动态跟踪,有时候可以大段大段地跳过一些代码自动运行。也就是说破译者必须弄清楚作者是采取哪种加密算法,然后根据作者的算法反向进行,从而从密文反推出明文。
周松在算法方面比较弱势,他盯着显示器看了一会儿就只觉得两眼都看花了。他不好意思地回头看了看黄飞,说道:“黄大哥,你看我对算法方面不太擅长。”
黄飞颇为赞赏地看了看周松,他拍了拍周松的肩膀仍旧以他那不瘟不火的声音说道:“不用看了,这是des算法。”