这个Rom中使用的技术,正是从《数字混淆加密(简易版)》中参悟出来的。
逆向破解不是一时半会的事情,江寒交出U盘后,就暂时告别大家,准备打车回家。
夏如虹一摆手:“清澜开我的车,帮我送下江寒。”
苗清澜连忙答应了,然后和江寒一起退场。
卢奕年交代柳佑明:“回头把U盘里的文件,分发给大家,让大家随意破解,如果一周后还没有人能逆向出原始代码来……”
说到这里,沉吟了一下。
“就说明可用?”小韩问。
卢奕年摇了摇头:“就放到看雪、0度等破解论坛上,让全国高手都来试一试……”
想了想,又补充说:“如果有必要的话,还可以放到国外几个着名的破解论坛上,接受一下世界级高手的检验。”
柳佑明听得差点儿“虎躯一震”。
这也未免太狠了吧?
虽然江寒说过,他对自己的加密技术也挺有自信的,可他毕竟才17、8岁。
任他再怎么天才,手段再怎么高明,一旦被天下英雄群起而攻之,又怎么可能抵挡得住了?
不过,同样四十多岁的年纪,自己只是技术部的小头目,而卢总已经是分管一摊的公司高层。
看来任何成功果然都是有原因的。
老话说得好:人不狠,站不稳哪……
安排完任务,卢奕年最后说:“让我们拭目以待,看看江寒的加密手段,到底有多大的强度吧。”
柳佑明等技术人员纷纷响应,表示愿意接受挑战。
当晚回去后,柳佑明就将ROM映像文件群发了一下,技术部几个擅长逆向的同事,每个人都收到了一份。
随后,破解工作如火如荼地展开了。
但并没有过上一周,仅仅两天后,盛夏技术部就集体投降了。
太难了。
江寒加密后的这个ROM,一打开就是一大堆乱码,根本没法正常反汇编。
只能在调试器中,采用单步跟踪,一个指令一个指令的执行。
难受的是,在跟踪的过程中,经常会导致死机。
一旦在调试器中执行“运行”命令,电脑妥妥的会自动重启。
柳佑明有点怀疑,江寒可能“不小心”提供了一个坏文件,就打电话核实了一下。
江寒询问了几个数据校验点,又核对了整个文件的MD5码之后,确认文件没有问题。
老柳想了想,问江寒:“您这个rom到底是干嘛的?”
江寒微微一笑,远程给柳佑明演示了一下。
他将ROM烧录到EEPROM芯片里,然后插到了一个早就准备好的,实验用的简易演示电路里。
这是用面包板临时搭建的演示电路,包含了一块51单片机、一个EEPROM,以及一个36行、36列的发光二极管阵列。
通电后,当江寒给出启动信号,发光二极管就按照事先设定的程序,有节奏地闪烁起来,上演了一幕《BadApple》!
这个东西做出来后,江寒也没有浪费。
他将制作过程和演示效果,拍成了视频,发到了P站上,成功续了一波热度。
至于将其用作加密试验品,不过是剩余价值的再利用。
柳佑明看完演示,顿时惊为天人:“卧槽,牛掰!”
匆匆扔下几百震惊点之后,就回去挑灯夜战,继续尝试破解。
可惜他的技术实力也就那样,破解个小软件还行,遇上这种高难度的,就力有不逮了。
奋战了两天,仍始终不得其法,柳佑明不得不承认失败。
其他同事的遭遇,和他也差不多,经历了从信心满满到屡败屡战,最后丢盔弃甲、怀疑人生的难忘历程。
这样,只好提前执行卢奕年的下一步部署。
先后将文件上传到了看雪、吾爱破解、龙卷风、嬴政天下、百度破吧,一共五个国内排名前三的破解论坛里。
唔,好像有什么不对?
好吧,不管到底哪三个排名更加靠前,反正都是大神出没的地方没错了。
孰料,诸多大神们出手后,也纷纷折戟沉沙。
网友们一开始还喜闻乐见,将这个ROM转载到了国内几乎所有的破解论坛,以及各种爱好者交流群里。
但仅仅三天后,国内九成九的破解论坛上,就全是声讨“柳暗花明”(柳佑明)的帖子了。
“这文件是假的吧?根本没法执行啊,动不动就死机。”
“震惊,竟然有人恶意上传垃圾数据,还号称终极加密,企图戏耍逆向界!”
“这是什么垃圾玩意!”
“恶心,令人作呕!”
……
也就是柳佑明从未曝光过真名,否则没准会有愤怒的网友,寄给他几只死耗子也说不定……
始终关注着事件进展的老柳,对这些情况自然了如指掌,忍不住心中有点暗爽。
看到许多比自己水平更高的人,也对这个ROM无可奈何,他自己的挫败感就削减了许多。
在征求了江寒的意见后,柳佑明仿制了一个“坏苹果”基板,拍成了视频,补到了自己发布ROM的帖子里。
这样大家就知道了,文件是没问题的,完全可以实机运行,只是自己没找到调试的办法罢了。
关于这个“坏苹果”ROM,各个论坛上的论调逐渐转为调侃。
“还真是万物皆可坏苹果啊!”
“这个坏苹果,也太特么难啃了吧?”
“你们谁找到程序的真正入口了?”
“入口倒是好找,避开花指令、逻辑校验、硬件序列……等10多个反编译、反调试的陷阱之后,就能进入自解压代码段。
然后再……
接着再……
最后再……
这样就能在虚拟机的堆栈中,找到真正的入口地址了。”
然而,没用,找到入口也没用。
接下来的难点,比一座大山上的碎石子还要多……
有人问:“能否绕过这个自解压过程,直接Dump解压解密后的可执行代码和数据呢?”
“不能,自解压后得到的代码,本身是不可执行的,必须调用位于加密区的虚拟机解释执行,而那个虚拟机的指令集是用数学算法随机生成的……”
一周后,终于有大神级的人物发帖:“我做了个硬件仿真器,逐步调试执行了这个ROM,逆向出了20%以上的加密算法。”
顿时,万众敬仰。
“真大神出现了!”
“那不是很快就能逆向出原始算法了?”
该大神回复:“并不能,我看到的加密算法里,包含了几百个参数,每一个都有独特的来历。
有的是一组不定方程的特殊解,有的是把多重位运算的结果直接写入指令区……
绝大多数子过程,都不存在有效、可行的逆运算,想要知道参数的原始值,只能暴力穷举。
这些都不是最困难的,问题是里面有几个算法片段,使用了我根本看不懂的数学公式、方法和计算技术……”
“这么牛掰的吗?求ROM作者现身说法。”
“这么变态的加密算法,也不知道是哪路大神搞出来的,好想瞻仰、膜拜一下啊……”
“发明这个算法的人,简直是鬼才。”
很快,各大论坛上,关于这件事的风向,就转到了另一个方向。
“挑战!是男人就吃掉坏苹果……”
“毒药,坏苹果使我欲罢不能……”
“我终于找到第351个参数了,过程如下……”
……
又是一周过去。
在全国逆向界的通力配合下,终于将全部个参数全部找了出来,并逆推出了361组数学公式。
接下来,就是解方程的竞赛时间了。
可惜,就在大家的热情空前高涨时,很快就被当头浇了一盆凉水。