第310部分(第1/4 页)
原本是十六进制的机器码,被反编译软件直接翻译成了汇编代码。
林鸿持续地按了几十次,最终发现又回到了原来的地方,他的眉头皱了皱。
一直没有吭声的广永元这个时候轻声问道:“怎么了?”
林鸿道:“没事,碰到反破解陷阱了。”
反编译软件毕竟是死的,只能根据特定的规则进行翻译,而一些有经验的程序员则会专门进行反破解设置,他们会故意设置一些无效的变量用于干扰视线,甚至可以直接让你的跟踪软件死掉,让跟踪无法进行下去。
像现在遇到的这种反破解陷阱,却是其中非常高级的技术非常具有迷惑性,一般很难发现,就算是发现了,也得花大量的时间去一一分析。
不过,这却难不倒林鸿。
他将这段代码直接通过眼睛“复制”到了超脑系统中,然后进行推演模拟,几秒钟就将其中的真正入口找了出来。
然后,他通过调试软件修改了其中的两个地址,重新反编译,代码又完全不同了。
广永元惊讶地张了张口,最终还是没有问出来。
他完全看不懂,林鸿这一步到底是如何做到的。在他眼里,这段代码完全没有问题,要想找出其中的入口,肯定是需要每一步都下断点跟踪的可是他看到林鸿却只是盯着显示器看了一会儿,然后便准确地将其找了出来。
这到底是什么情况?
广永元告诉自己,这肯定是巧合。
可是,一次可以认为是巧合,接下来却接二连三地出现了这种情况。
…;
不得不说,《英雄无敌》的确在这方面投入了极大的精力反破解陷阱竟然随处可见。
广永元终于确定,林鸿之前并不是运气,而是真的拥有能够仅仅凭借心算就能准确地找出反破解陷阱入口的能力。
“这就是大师?”广永元自问道。
在之前,他一直不能理解,为什么大家说要成为大师,除了时间、毅力和勤奋,还需要天赋,在这一刻他总算有了深切的体会。
这个时候,林鸿再次来到了一个重要关口。
他回头看了广永元一眼说道:“难怪这么难破解,原来是使用了ECC加密算法。”
ECC加密算法,即椭圆曲线加密算法。
其实,加密算法最终可以归结为数学问题,很多加密算法,就是根据至今未能解决的数学问题而发明的。加密算法安不安全,直接跟这个数学问题有没有解决直接挂钩。
而椭圆加密算法的原理也是这样,问题为:给定素数P和椭圆曲线E,对Q=kP,在已知PQ的情况下求出小于p的正整数k。
可以证明,已知k和P计算Q比较容易,而由Q和P计算k则忄比较困难,至今没有有效的方法来解决这个问题,这就是椭圆曲线加密算法原理之所在。
椭圆曲线公钥系统是代替RSA的强有力的竞争者,与RSA相比,这个算法还拥有安全性更高、计算量小以及存储空间占用小的优点,故而有着非常广泛的应用。
广永元身为业内人士,对一些知名的算法自然非常了解。虽然他早有心理准备,但是听到林鸿的话之后,还是被震了一下,毕竟ECC加密算法实在是太出名,太复杂。
广永元原本升起的希望顿时又破灭了。
难怪这么多人搞不定这个游戏的破解,原来关键在于这个ECC算法。
他几乎已经对林鸿的这次破解不抱什么希望。
刚想说什么安慰一下林鸿,说就算破解不出来也可以理解,可是还没等他说出口,林鸿又说话了。
“咦?有点意思!没想到里面还藏了一个Rijndael加密算法。”
这次广永元彻底懵了。
R什么算法?
这是什么算法?在他的脑海中,从来没有这个算法的任何信息。
而这个时候,他才反应过来,不由愣愣地问道:“你……这么快就看到第二个算法了?”
林鸿笑笑,道:“椭圆加密算法虽然复杂,但是他们并没有很好的发挥出它的作用。”
在林鸿看来,他们只要将椭圆加密算法充分发挥一下,别人要想破解,难度肯定可以再次翻倍,根本不用再到后面加上这个Rijndael算法,简直有点画蛇添足的感觉。
广永元问道:“你刚刚说的什么算法?”
“RI……”
林鸿将这个