黑客无间道-第279章
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
萧云飞用了一天的时间进行大采购,然后他让自己沉静了下来,接着,他全身心地投入到病毒的研工作中去了。
在编写病毒程序的这段时间,除了补给食物的时候萧云飞会出门,平时萧云飞几乎没有走出房门一步!
萧云飞本以为自己全身心地投入到病毒的编写中去,要编写出“亚当”并不会花费多长的时间,然而,在实际编写的过程中,萧云飞才真正体会到要达到自己预定的目标竟然是那么困难的事情。
在进行“亚当”病毒的基层数据结构构建的过程中,要让病毒能够对每一种计算机系统进行判断,那么萧云飞就必须要记录下每一种系统反馈信息的特征,这就需要不停地测试,不停地记录。通过萧云飞一次又一次的测试,他不断完善着自己的创意和想法,终于,花费整整半个月的时间,萧云飞终于将病毒的基层数据结构搭建完成。
基层数据结构完成,接下来的工作就是要向这个框架里面加入病毒程序了,当然,病毒的程序必须要包含萧云飞在之前构思的各种想法,最为关键的在于,如何让程序代码具有一定的智能。
萧云飞通过人工智能实验室服务器的数据系统查询了大量的实验数据和用于机器人主控程序的“半智能”代码。
为什么说萧云飞在病毒程序中加入的是“半智能”代码呢?其实人工智能实验室服务器上的数据系统中,被用在机器人身上的主控芯片其实就是半智能的,他们并没有制造真正的全智能程序代码。
通过萧云飞的观察,虽然这些半智能代码只是让程序具备了一定的进化能力,但是它们却依然是有局限性的,比如调用的函数,比如传递的参数等等,它们并不是自动调用或者传递,它们是有规律性的,如果当别人掌握了这种规律性,那么病毒依然会被扼杀。
萧云飞不可能创造出全智能的代码,虽然“半智能”代码具有缺陷,但是这也是目前为止可以让“亚当”具有人工智能雏形的唯一方法。
为了避免这种“半智能”代码的缺陷,萧云飞就需要破坏这些规律性,怎么进行破坏?萧云飞想到的办法就是将不同的“半智能”代码进行融合。
其实萧云飞的思路和加壳、加花木马程序的思路没有什么差别。
举个简单的例子,比如我们生成了一个木马服务端,我们想让自己的木马躲避杀毒软件的查杀,很多小白朋友采用的简单方法就是对木马进行加壳或者加花指令。
但是很多加壳的软件都被杀软列入了“黑名单”,加一次壳照样无法躲避杀毒软件的查杀,那怎么办呢?很多菜鸟朋友又会对加过壳的木马程序再进行加壳,方法以此类推。
你或许会现,当经过不同的加壳软件对木马进行了多次加壳之后,很多杀软程序就不能对你的木马进行查杀了,为什么会出现杀毒软件无法查杀的情况呢?原因很简单,因为木马程序的特征码被打乱了!
小白朋友不要高兴,你不要因此就认为你学到一招保护木马的方法。
这个经过多次加壳,杀毒软件也无法查杀的木马程序在运行的时候你可能会现出现各种问题,它有可能无法执行,或者能够执行但是却达不到你的目的!
这就是悲剧啊!虽然用这种方法来躲避杀毒软件的查杀比较简单,但是经过多次加壳后,你的木马程序或许就失效了!
萧云飞将“半智能”代码进行融合要面对的就是这个问题!当“半智能”代码进行融合之后,他们的规律性或许会被打乱,但是他也要面对“半智能”代码失效的情况。
当我们多次加壳木马后出现木马失效的情况,而我们根本对所谓的汇编语言完全不懂的时候,作为菜鸟,你会怎么办?
我猜,很多人会换几种加壳工具慢慢进行测试吧?当木马程序既能躲过杀软又能正常运行的时候,菜鸟朋友就会很高兴了。
当然,高手做免杀肯定不会这么干的!
面对“半智能”程序代码,萧云飞也是一个彻头彻尾的菜鸟。所以,他也只能选择将不同的“半智能”代码不断融合,然后又不断测试的笨办法来企图达到打乱“半智能”代码的规律性!
黑客无间道 正文 第六十八章 “亚当”问世
我们将一个加壳工具对一款木马程序进行加壳处理后,虽然木马程序的特征码有可能被隐藏,但是它也有可能被重定义,为什么?因为加壳工具的加壳指令也是有自己的特征的,所以,杀毒软件依然能够对它进行查杀;当我们将不同的加壳工具用于同一个需要加壳的木马程序之后,因为加壳工具的加壳指令不同,它们重叠后可能会产生杀毒软件无法定义或者识别的代码,此时,如果木马程序依然能够运行,那么通过这种多重加壳就让木马程序达到了伪装和免杀的效果。
人工智能实验室封装在芯片中用于机器人主控程序的“半智能”代码其实和加壳工具的加壳指令类似,萧云飞要让“亚当”具有人工智能的雏形,这些已经通过实验证实的“半智能”代码就是整个工程的关键!
封装在芯片中的“半智能”程序具有单一性,因为mIT人工智能实验室主攻的研究方向就是将主控程序用于机器人,根据机器人在不同领域的使用,用于主控程序的“半智能”代码就具有不同的功效。
比如,有的机器人能够识别并且接受人们出的语言指令,那么用于主控程序的“半智能”代码就需要拥有能够识别和接受人类自然语言学的功能;有的机器人被用于从事深海或者火山探险工作,那么用于主控程序的“半智能”代码就需要具备抗压和抗高温的功能……
正是由于“半智能”程序要实现的功能单一,所以它在一定程度上存在规律性,而这种规律性则有可能被人破解。
打个比方,比如当你面对一。个能够识别人类自然语言学的机器人,通过人们的语言,这个机器人能够识别并且接受人们的指令,假如这个机器人能够接受最长的语句不能过一百个字符,当你描述的指令过了一百个字符,那么机器人会出现什么样的情况?
第一种情况,用于人类自然语言。的接受系统只能让机器人记住前面一百个字符,后面的字符它根本无法识别,从而它无法正确接受人类的真正指令;第二种情况,机器人或许会提出疑问或者警示,它根本不会有任何动作。
(ps:现如今面世的这类机器人当。然不会出现这样的Bug,我只是举个例子,大家不要深究……)
机器人出现这样的情况和计算机系统或者程序。的溢出产生的情况就有相似之处。所有,一旦有人窥破了“半智能”程序代码的规律,那么对其进行破解也并不是不可能的。
萧云飞既然要创造出具有人工智能雏形的计算。机病毒,他当然不能让起到关键作用的“半智能”代码成为“亚当”病毒最薄弱的环节,所以,萧云飞就必须要对这个有可能被人破解的地方进行全面的加固。
将“半智能”程序代码进行重叠并且糅合,这是萧。云飞目前为止能够想到抹去“半智能”代码规律性的唯一办法。
萧云飞从mIT人工。智能实验室服务器上数据系统中挑选出了上百条用于程序中的“半智能”程序代码,然后,他全身心地投入到了“半智能”程序代码的重叠工作中去了了。
这个工程是庞大而且枯燥的,当两条用于病毒程序的“半智能”代码重叠后,它们完全有可能造成冲突或者相互的影响,这样就有可能失去“半智能”代码原有的功效,就算当两条“半智能”代码重叠后没有冲突或者没有失效,萧云飞也还要考虑将重叠后的“半智能”代码插入到病毒程序主体中后,“亚当”病毒能不能顺利运行的问题。
现如今,“亚当”病毒的主题程序,也就是用于攻击、伪装和传播的代码萧云飞还没有编写,所以,他便利用“圣诞礼物”作为实验病毒。
萧云飞利用关联函数将“半智能”代码进行重叠后,经过重叠后形成新的“半智能”代码如果没有失效,萧云飞就会立马将这个重叠后的代码插入到“圣诞礼物”的源代码中,如果插入了经过重叠后的“半智能”代码,“圣诞礼物”依然能够顺利运行,那么萧云飞就会将重叠后的“半智能”代码保存下来,反之,萧云飞则继续实验,直到找到两条重叠后不会失效并且不会影响病毒运行的“半智能”代码。
不管编写程序、破解程序还是制作木马免杀,我们都要事先做好备份工作。
当然,重叠、糅合不同的“半智能”代码更是要做好备份工作,因为经过重叠糅合后并且功能没有失效的代码,在进行第二次代码重叠的时候,这就必须要备份之前的代码,这样也是为了防止第二次重叠糅合破坏前一次已经糅合成功的“半智能”代码。
就拿做一个手机包来看,更新一个固件备份几十上百次都是正常的事情,所以,萧云飞做备份工作需要花费很多时间。
这是相当枯燥而无聊的工作,但是这也是不得不进行的工作。
萧云飞就像一个玩着堆房游戏的孩子,他耐心的,一步步慢慢壮大着用于病毒程序的“半智能”代码。
堆房游戏极为考验一个人的耐心,不到最后一刻你也不知道结局如何,有可能在你将要完成最后一个木片时,整栋大楼全盘崩溃。
萧云飞将“半智能”代码进行重叠糅合其实就是堆房游戏,如果他将“半智能”代码不断重叠,一直糅合,当重叠糅合的代码过多,这完全有可能导致整个程序的崩溃。
所以,我们做事情不能把所有的鸡蛋都放在一个篮子里,分散放开,做到未雨绸缪才是上上之策。
萧云飞编写“亚当”病毒的工程如此庞大,而且他的时间又如此紧张,所以,他绝对不能允许病毒在完成最后一刻全面崩溃的情况出现!
于是,萧云飞想到一个办法来避免出现这样的情况,萧云飞重叠糅合的“半智能”代码最多不会过四个,他将这些被重叠糅合在一起的“半智能”代码赋予病毒的某一个函数段或者数据处理阶段,从而让病毒的每一段子程序都拥有“半智能”程序的特点。
当然,“半智能”代码不能仅仅作用于病毒程序的某一段子程序,这样做的目的是让病毒的子程序具有了变异进化的能力,虽然这样的病毒已经很恐怖了,但是萧云飞的目光绝对不可能如此短浅!
病毒的主体程序必须要拥有连锁的、重叠的、糅合数量庞大的“半智能代码群”作为强大支撑。
这一个特点位于整个金字塔的顶端,而这个“半智能代码群”则是萧云飞赋予“亚当”病毒人工智能雏形的封顶之砖!
学过概率统计学的朋友肯定会计算,从几个数字中选择两个数据进行组合会有多少种组合方式,这里我也不用公式来说明了。
萧云飞总共选择了上百条“半智能”程序代码,用于病毒某一个函数段和数据处理的“半智能”代码重叠糅合,虽然重叠糅合的代码不过四个,学过概率统计的朋友们可以计算一下,这该有多少种不同的组合方式?!
然而