第六十八章 “亚当”问世
作者:我不是黑客      更新:2017-12-19 12:26      字数:7259

我们将一个加壳工具对一款木马程序进行加壳处理后,虽然木马程序的特征码有可能被隐藏,但是它也有可能被重定义,为什么?因为加壳工具的加壳指令也是有自己的特征的,所以,杀毒软件依然能够对它进行查杀;当我们将不同的加壳工具用于同一个需要加壳的木马程序之后,因为加壳工具的加壳指令不同,它们重叠后可能会产生杀毒软件无法定义或者识别的代码,此时,如果木马程序依然能够运行,那么通过这种多重加壳就让木马程序达到了伪装和免杀的效果。

mIT人工智能实验室封装在芯片中用于机器人主控程序的“半智能”代码其实和加壳工具的加壳指令类似,萧云飞要让“亚当”具有人工智能的雏形,这些已经通过实验证实的“半智能”代码就是整个工程的关键!

封装在芯片中的“半智能”程序具有单一性,因为mIT人工智能实验室主攻的研究方向就是将主控程序用于机器人,根据机器人在不同领域的使用,用于主控程序的“半智能”代码就具有不同的功效。

比如,有的机器人能够识别并且接受人们出的语言指令,那么用于主控程序的“半智能”代码就需要拥有能够识别和接受人类自然语言学的功能;有的机器人被用于从事深海或者火山探险工作,那么用于主控程序的“半智能”代码就需要具备抗压和抗高温的功能……

正是由于“半智能”程序要实现的功能单一,所以它在一定程度上存在规律性,而这种规律性则有可能被人破解。

打个比方,比如当你面对一.个能够识别人类自然语言学的机器人,通过人们的语言,这个机器人能够识别并且接受人们的指令,假如这个机器人能够接受最长的语句不能过一百个字符,当你描述的指令过了一百个字符,那么机器人会出现什么样的情况?

第一种情况,用于人类自然语言.的接受系统只能让机器人记住前面一百个字符,后面的字符它根本无法识别,从而它无法正确接受人类的真正指令;第二种情况,机器人或许会提出疑问或者警示,它根本不会有任何动作。

(ps:现如今面世的这类机器人当.然不会出现这样的Bug,我只是举个例子,大家不要深究……)

机器人出现这样的情况和计算机系统或者程序.的溢出产生的情况就有相似之处。所有,一旦有人窥破了“半智能”程序代码的规律,那么对其进行破解也并不是不可能的。

萧云飞既然要创造出具有人工智能雏形的计算.机病毒,他当然不能让起到关键作用的“半智能”代码成为“亚当”病毒最薄弱的环节,所以,萧云飞就必须要对这个有可能被人破解的地方进行全面的加固。

将“半智能”程序代码进行重叠并且糅合,这是萧.云飞目前为止能够想到抹去“半智能”代码规律性的唯一办法。

萧云飞从mIT人工.智能实验室服务器上数据系统中挑选出了上百条用于程序中的“半智能”程序代码,然后,他全身心地投入到了“半智能”程序代码的重叠工作中去了了。

这个工程是庞大而且枯燥的,当两条用于病毒程序的“半智能”代码重叠后,它们完全有可能造成冲突或者相互的影响,这样就有可能失去“半智能”代码原有的功效,就算当两条“半智能”代码重叠后没有冲突或者没有失效,萧云飞也还要考虑将重叠后的“半智能”代码插入到病毒程序主体中后,“亚当”病毒能不能顺利运行的问题。

现如今,“亚当”病毒的主题程序,也就是用于攻击、伪装和传播的代码萧云飞还没有编写,所以,他便利用“圣诞礼物”作为实验病毒。

萧云飞利用关联函数将“半智能”代码进行重叠后,经过重叠后形成新的“半智能”代码如果没有失效,萧云飞就会立马将这个重叠后的代码插入到“圣诞礼物”的源代码中,如果插入了经过重叠后的“半智能”代码,“圣诞礼物”依然能够顺利运行,那么萧云飞就会将重叠后的“半智能”代码保存下来,反之,萧云飞则继续实验,直到找到两条重叠后不会失效并且不会影响病毒运行的“半智能”代码。

不管编写程序、破解程序还是制作木马免杀,我们都要事先做好备份工作。

当然,重叠、糅合不同的“半智能”代码更是要做好备份工作,因为经过重叠糅合后并且功能没有失效的代码,在进行第二次代码重叠的时候,这就必须要备份之前的代码,这样也是为了防止第二次重叠糅合破坏前一次已经糅合成功的“半智能”代码。

就拿做一个手机包来看,更新一个固件备份几十上百次都是正常的事情,所以,萧云飞做备份工作需要花费很多时间。

这是相当枯燥而无聊的工作,但是这也是不得不进行的工作。

萧云飞就像一个玩着堆房游戏的孩子,他耐心的,一步步慢慢壮大着用于病毒程序的“半智能”代码。

堆房游戏极为考验一个人的耐心,不到最后一刻你也不知道结局如何,有可能在你将要完成最后一个木片时,整栋大楼全盘崩溃。

萧云飞将“半智能”代码进行重叠糅合其实就是堆房游戏,如果他将“半智能”代码不断重叠,一直糅合,当重叠糅合的代码过多,这完全有可能导致整个程序的崩溃。

所以,我们做事情不能把所有的鸡蛋都放在一个篮子里,分散放开,做到未雨绸缪才是上上之策。

萧云飞编写“亚当”病毒的工程如此庞大,而且他的时间又如此紧张,所以,他绝对不能允许病毒在完成最后一刻全面崩溃的情况出现!

于是,萧云飞想到一个办法来避免出现这样的情况,萧云飞重叠糅合的“半智能”代码最多不会过四个,他将这些被重叠糅合在一起的“半智能”代码赋予病毒的某一个函数段或者数据处理阶段,从而让病毒的每一段子程序都拥有“半智能”程序的特点。

当然,“半智能”代码不能仅仅作用于病毒程序的某一段子程序,这样做的目的是让病毒的子程序具有了变异进化的能力,虽然这样的病毒已经很恐怖了,但是萧云飞的目光绝对不可能如此短浅!

病毒的主体程序必须要拥有连锁的、重叠的、糅合数量庞大的“半智能代码群”作为强大支撑。

这一个特点位于整个金字塔的顶端,而这个“半智能代码群”则是萧云飞赋予“亚当”病毒人工智能雏形的封顶之砖!

学过概率统计学的朋友肯定会计算,从几个数字中选择两个数据进行组合会有多少种组合方式,这里我也不用公式来说明了。

萧云飞总共选择了上百条“半智能”程序代码,用于病毒某一个函数段和数据处理的“半智能”代码重叠糅合,虽然重叠糅合的代码不过四个,学过概率统计的朋友们可以计算一下,这该有多少种不同的组合方式?!

然而,萧云飞为了让自己的病毒程序在一定程度上拥有完美的人工智能,他竟然将每一种组合方式都测试过!

最后,经过重叠并且糅合成功的“半智能”代码竟然仅仅只有三十个能够满足萧云飞的要求!而这三十个“半智能”代码又将再次成为萧云飞第二次重叠糅合成“半智能代码群”的基石!

这一次重叠糅合的“半智能代码群”萧云飞并没有限制代码组合的上限,他是尽自己最大努力将这这些“半智能”代码不断重叠再重叠,他的目的只是想让它包含的“半智能”代码更多、更全!

当然,这些组合后的“半智能代码群”必须不能失去它的功效,它必须满足萧云飞规定的种种条件。

通过不断的重叠糅合,然后不断的进行测试,这个“半智能代码群”最终包含了十个经过融合一次的“半智能”代码,它们形成的这个代码群具有吞噬、进化、自动异变等等功能。

通过对不同的“半智能”代码进行重叠糅合,萧云飞成功将单一“半智能”代码的规律彻底打乱,从而让这些代码具备了多变性和伪装性,如果没有mIT人工智能实验室服务器上的所有数据,就算是号称“黑客之王”的“ange1”想要破解它也是不可能的事情!就算是mIT从事计算机和人工智能的教授们要想破解他的程序,他们也必须要找出萧云飞重叠糅合的是哪些“半智能”代码!

而这项工作,无疑是大海捞针。

经过连续两个月没日没夜的测试,这项枯燥的、庞大的工作终于被萧云飞顺利完成!

至此,“亚当”的基层数据结构创建完成,最关键的人工智能部分也完美解决,两项最主要的工作已经完成,萧云飞朝着胜利再次挺进了一步!

剩下的工作相对简单多了,萧云飞接下来要构建病毒程序并且在适当的地方插入已经重叠糅合的“半智能”代码。

“亚当”要具有完美的潜伏性、隐蔽性、传播性和攻击性。因为有了“半智能”代码,它能够自我进化和变异,所以萧云飞并不需要把“亚当”的攻击性编写得多么强横,萧云飞主要的精力就放在病毒的潜伏性、隐蔽性、传播性方面。

潜伏性就是要让病毒能够顺利潜伏到用户的计算机系统,当然,最好的潜伏方式就是将自己隐藏在计算机底层,萧云飞先建立磁盘底层驱动,并且把she11进程写入了动态连接库,这样做的目的导致还原无用;其次,萧云飞让“亚当”潜伏进驻内存!

潜伏完成之后就需要自身进行隐蔽,萧云飞既要让“亚当”具有木马的特性,又要让他完美隐蔽,这就需要很深厚的功力了。

给全球带来重大损失的计算机病毒都有一个共同的特点,那就是他们拥有恐怖的传播度!而计算机病毒的传播途径无非就是邮件、Im(即时消息)等等,萧云飞当然不能抛弃这些常用的传播病毒的方法。利用邮件进行传播的手段已经司空见惯了,利用Im传播病毒也有,但是出现的范围比较局限,萧云飞创造的病毒是面向全世界的,所以,萧云飞传播病毒的方式自然不会太落伍。

病毒的攻击性当然也是造成重大损失最主要的因素之一,不过萧云飞将“亚当”视为自己的保命武器,他自然不会让“亚当”一爆就彻底摧毁计算机,这样的话,别人可能也没有必要和萧云飞坐下来谈判了。

攻击性当然要具有主动性,“亚当”会根据基层数据结构在网络上收集到的系统信息,针对这些计算机系统存在的多个漏洞动渗透,如果它现未打补丁的地方,那么它就会渗透进这些存在漏洞的计算机系统,从而潜伏下来。

萧云飞不能让“亚当”的攻击太过霸道,按照萧云飞的设定,他只会让“亚当”在爆的时候出现一个锁定画面,它造成的情况类似于恶作剧病毒,它不会删除计算机数据,也不会破坏计算机硬件,它就是出现一个锁定画面,占满整个计算机屏幕,不论是重转系统还是格式化硬盘,它依然不能被擦除。

这段攻击程序是萧云飞整个病毒程序中唯一没有插入“半智能”代码的地方,并且萧云飞还对这段攻击代码进行了死锁,禁止这段攻击代码和病毒其他模块进行数据交换,因为萧云飞担心攻击程序拥有了“半智能”代码,万一在传播过程中生了进化或者变异,一旦“亚当”的攻击能力增强,那么它真的可能给互联网带来毁灭性的灾难了。

又用了半个月的时间,萧云飞不断完善着“亚当”的各种功能,每一短代码的编写萧云飞都会慎之又慎,他力求做到完美,做到事无遗漏。

上帝造物用了七天。

萧云飞创造一个病毒,经过三个月日以继夜的奋战,“亚当”才初次成型,看来上帝造物比编写计算机病毒容易多了。

接下来的工作,测试、改进病毒!萧云飞在虚拟机上所有主流的计算机操作系统上对“亚当”进行测试,然后根据测试的结果,针对病毒的不足进行改进,这个过程又花去了萧云飞将近十天的时间!

测试、改进后的效果是令人满意的,“亚当”能够穿透目前所有的防火墙进驻到这些不同的计算机系统中,而且“亚当”在六大主流操作系统的功能并未受到丝毫影响!

这仅仅是“亚当”刚刚被编写完成达到的效果,它的智能代码现如今还根本就没有运行起来!

萧云飞没有休息,他开始着手病毒程序的最后一项工作——加密!

虽然萧云飞对“半智能”代码进行了重叠和糅合,尽管经过重叠和糅合后“半智能”代码失去了它们自身的规律性,但是萧云飞依然不能让这些“半智能”代码暴露出来,所以,最后一项工作,萧云飞要对“亚当”进行加密。

这次的加密萧云飞采用了自己的pes加密和“混沌加密”算法相结合的方式,如果不是自己,相信没有人能够对“亚当”的源程序进行分析!

“半智能”代码的重叠糅合是一次防止“亚当”被破解的第一步,加密则是防止“亚当”的程序被反汇编的另一种方法。

这就相当于保险柜中放个加锁的宝箱,有句广告词怎么说的?“双重保护,贴贴更周到”!

萧云飞再接再励,他将“亚当”的触程序也编写了出来,记下触程序的代码后萧云飞彻底将其删除了了,用于触“亚当”的程序代码,只能由自己一个人掌控!

当有那么一天“亚当”在网络世界无处不在的时候,萧云飞掌握了这个触程序就相当于网络世界的炸弹遥控器!

“亚当”虽然拥有“人工智能”的雏形,萧云飞作为它的缔造者,他当然不可能让“亚当”脱离自己的掌控范围,所以,萧云飞根据自己使用的“半智能”代码编写出了破坏“半智能”程序的指令,只要“半智能”程序指令被破坏,自己要想编写出专杀程序也是很容易的。

萧云飞既掌握了开启炸弹的遥控器,又掌握拆弹的工具,这对他的计划是双重保险。

不过萧云飞叹了口气,就算“亚当”拥有进化和变异的能力,但是它却始终不是真正的虚拟电子人工智能生命啊!

萧云飞编写“亚当”总共花费时间三个半月,这比他预计的时间晚了近半个月,但是多花费的这些时间,萧云飞认为完全值得。

“亚当”编写完成,萧云飞紧绷的神经终于放松了下来,他突然感觉到前所未有的疲倦、困顿朝自己席卷而来,萧云飞累了,他要安息了。

萧云飞美美的睡了一个好觉,他整整睡了两天一夜,萧云飞从来没有觉得原来睡觉竟然如此舒坦。