第一百一十三章 奇怪的文件
章节报错
“快把这个接上去看看效果。”
顾伟刚刚说完这句话,就立刻意识到自己犯了个低级错误。
此刻的烧录器结构可以说已经进行了改变,而且是原理上的改变,之前的那个配套软件已经不能用了。
“对了,这个软件已经不能用了!”顾伟傻眼道。
“是oB@,我扩充了比特位数,原来的软件已经不配套了。”林鸿自然知道这点。
“那咋办?岂不是做了无用功了?”
就算是林鸿改造的这个烧录器能起作用,但是没有相应的软件与之配套使用,那也是白搭。
“让我想想,我有几个朋友懂编程技术……不过他们大部分都是改改游戏什么的,做对编程器这种底层编程应该不太擅长……”
顾伟嘴中念念有词,正在寻思着该找谁过来帮忙编写这个程序。
而这个时候,林鸿已经做在了计算机前,开始进入BASIC编程状态编写起来。
CP/M艹作系统虽然是基于280的,但是BASIC编程却是和苹果的DOS基本相同。
顾伟听到耳边霹雳啪啦的键盘响声,转头看到林鸿正在艹作计算机,于是惊讶地问道:
“你在做什么?”
“编程啊,给烧录器编写一个配套工具。”
“你连这个都懂?”
“掌过一些。”
顾伟彻底无言了,他还想着找一个朋友过来帮忙,而且还没有把握是否真的能够在短时间内编写好能够配套的软件,却没想到林鸿此刻已经开始编上了。
林鸿之所以有这个把握,完全是建立在已经摸透了烧录器的基本原理的基础之上。
这个过程看似很复杂,其实原理是比较简单的,就是一个数据的复制过程,将一个存储器中的数据,复制到另外一个地方,对地址里面的数据进行挨个扫描就行了。
林鸿此刻的打字方式并不科学,完全使用“二指禅”,但是打字速度却相当快,他甚至已经实现了盲打,完全可以不看键盘敲出准确的对应字符。
顾伟在旁边看得简直要傻掉了。
他实在无法想象,两个手指头也能打字这么快,而且还盲打。难道对方已经将键盘各个键位之间的距离记得清清楚楚,而且对手指的控制达到了如此令人恐怖的地步?
太变态了!
林鸿完全不知道顾伟此刻已经将其归类于“变态人物”,他全神贯注地在编写着手中的这个程序。
由于涉及到底层的编程,单单只用BASIC的语句是不能完成所有功能的,他还在其中嵌入了一些汇编指令,直接对硬件底层进行艹作。
这在十几年后,就相当于是单片机编程,随便一个计算机专业毕业的人估计都知道编写几段。但是在现在这个时候,国内在这块简直还处于空白状态,就算有,也只是停留在各大研究机构祀院校的实验室中,这些技术还得完全靠从国外引进。
当然,林鸿完全不知道这一点。
由于林鸿编写的这个工具,是专门针对他改造的烧录器而编写的,相比起之前的那个万用型编程器软件,要简单许多,他大概只编写了不到五百行代码就完成了这个小工具的编写,其中有五六十行嵌入汇编语句。
在顾伟充满震惊和崇拜的目光之下,他继续调试了几次之后,最终将DUMP程序顺利完成了。
这个程序的主要功能和之前的配套程序差不多,区别之处就在于多了一个对辅助电路的支持,在刚开始的时候,辅助位为0,当数据复制到八兆的时候,辅助位就会自动更换为1,这样就开始了八兆以上地址空间的扫描。
“可以开始尝试DUMP了。“林鸿对颁伟说道。
顾伟连忙将27C320芯片插到烧录器的中间插槽中,然后启动了电源。
林鸿敲上他编写的程序名称,然后回车。
显示器左下角的位置上立刻出现了一个慢慢增大的百分率数字一一1%……2%……5%…没有图形,只有一个这样的简单表示,对观看者述说着数据的DUMP过程正在逐渐完成。
要想实现图形表示林鸿也是可以实现的,只是现在似乎没有这个必要,他们关注的只是能不能成功将数据DUMP出来,至于软件的界面,这是次要的,只要自己能够看懂进行了。
顾伟可以看到,这一次的DUMP速度,确实比之前要快很多,这意味着林鸿加的那根飞线的确起作用了。
48%……快要到八兆了,林鸿和顾伟两人此刻的心情备不相同,不过都紧盯着显示器。
49%……50%……51%……“成功了!”
顾伟高兴地叫了一声。
林鸿脸上也露出了笑容,虽然他很有自信,但亲眼看到自己设计的电路起作用了,心中还是非常开心的。
这个过程很快就达到了1000七o,顾伟迫不及待地在目录中找到了DUMP出来的数据包。
废了这么大的心思才将这些数据导出来,他心中隐隐生出了一种期待的感觉。
他用LIS七命令查看了一下文件的大小,大概4兆大小。
林鸿看到,微微一愣,疑惑道:“怎么只有这么小?”
“没错。”顾伟解释道,“游戏机卡带里面的容量普遍采用兆位BI七来计算,而电脑都采用兆字节BY七E来计算,一个字节等于八个比特,所以导出来的数据在计算机里面只有原来的八分之一大小。”
顾伟先用文本编辑器查看了一下数据包,发现是十六进制的机器码,看不懂,于是将其和之前DUMP出来的数据一起打包,放到街机模拟器里面运行。
结果还是一片黑屏,没有任何东西,按键盘也没有任何反应。
“奇怪,怎么回事……”
费了这么大的心思导出来的数据竟然没用,这不禁让他感到非常郁闷。
“难道是导出数据的时候出了问题?”
顾伟转头看了看林鸿。
如果在DUMP数据的时候出了问题,的确也会出现这样的现象,软件就是这样,讲究完整姓,缺少任何一点代码都可能会导致运转不了。
林鸿也在默默思考着到底哪个环节出了问题。
顾伟退出游戏界面,然后重新开始分析导出来的那个数据包里面的代码。
他决定对那部分代码做一个反编译,仔细看看里面到底是什么结构,以此来判断是否导出的时候出了问题。
这个过程是他经常做的,所以非常熟练。
直接调出一个小软件,对数据进行还原,这个软件可以将机器码进行反汇编,最终以汇编代码的形式展现出来,虽然可能会和源程序的代码有区别,但是其完成的功能却是一样的,甚至经过编译器优化过后的代码甚至比源代码的执行效率更高。
当然,顾伟的这个小软件并不能将整个游戏的完整代码都还原出来,因为游戏在进行编译的时候,通常会加入一些反破解的代码,虽然不能百分之百地组织破解和逆向工程,但却极大地增加了难度。
顾伟还没达到能够将整个游戏的源代码给逆向出来的水平。
不过,他这么一反编译,却发现了一个异常情况。
“奇怪了,怎么全部是数据?没有任何一条指令。”
顾伟发现,整个数据包里面的代码,竟然没有任何一个艹作码,全部是数据,或者说没有意义的代码。
他再次用文本编辑器打开了这个数据包,想从中看出点什么规律,但是满屏的机器码,让他眼睛都看花了也没看出什么名堂。于是,他接着将十六进制编码转换为二进制的,全部由“0”和“1”组成。
他进行这一步转换也只不过是顺手而已,十六进制和二进制,实际是一个效果。
他将编辑器关掉,转过头来对林鸿说道:
“看来这个数据包完全是乱码,也不知道哪里出了问题。”
他说得很委婉,并没有直接说是林鸿所做的工具或者说编写的程序有问题。
林鸿眉头紧皱地回想着刚刚显示器上显示地那些二进制代码,并没有回答顾伟的话。
顾伟回过头来,从抽屉里找了一块其他游戏的存储芯片,然后插到烧录器中,用林鸿的那个工具DUMP了一下,然后打包放到模拟器中,运行。
显示器上出现了一个乒乓球小游戏。
“咦?是正常的啊。”
顾伟彻底混乱了。
这说明林鸿改造之后的烧录器和编写的软件都没有问题,就算是后面那段有问题,前面的数据也不可能连一条指令都不存在。
很显然,只有一个解释,那就是27C320里面的数据原本就是这样的,根本不是什么游戏程序。
“靠了,难道忙活半天,就是一堆乱码?”顾伟有些郁闷地说道,“是哪个家伙没事闲得蛋疼,往27C320装一些毫无意义的垃圾信息啊,真是暴殄天物!”
27C320可是个好东西,是顾伟所见过的容量最大的存储芯片,据他所知,这个芯片刚刚上市不超过半年时间,国内还很少见到呢。
这个时候,一直在凝神苦想的林鸿突然对他说道:
“伟哥,麻烦你把刚刚那个文件用编辑器再打开一下。”