这两天孩子考完中考,在家无所事事,就让他练练键盘指法,我只记得自己上大学时候练过2周的TT软件,特别好用,然后找了下,现在DOS的程序只能在DOSBOX下跑了,下载以后跑了起来,很熟悉的界面和speak音效有没有?
但是,发现一个严重的问题,就是网上下载的版本都是所有的学生都练习过了,而且也没有办法新加学生,因为就总共就8个学生可以添加。
然后尝试修改TT.HIS文件,总是进度不能保存要不就是文件损坏错误。
后来无意中发现TT还有指导员模式,只要在命令行后面带上正确的密码参数就可以进,这里不知道密码,所以提示不正确:
然后,我尝试用IDA来分析代码,发现TT程序里有反调试和SMC,现在的windows下不能调试,只能用DOSBOX+debug来怼,费了九牛二虎之力,找到了一个函数。值得注意的是:MASM5版自带了个debug32,命令和debug兼容,还多了些功能,比如寄存器变化展示、断点管理等。
用debug的批量执行:p d37;t;p 63;t;p 12;t;p=2ca
到这里就是一个函数
1ca5:02cd call 5bca
5bca的函数里有这样一段:
运行到5C3D这里会弹出之前截图的错误并退出,因此修改5C18这里的分支,继续运行5C1A,就会判断密码正确了。
这里因为前面调试,把颜色弄没了。不过可以看到菜单不一样了,可以修改教师密码:
还可以看到原来的密码是HELLO,哈哈,这下就可以为所欲为了。
删掉其他的所有记录,就可以新增学生了。
对了,这里还有一个地方要注意,由于千年虫的影响,这个软件不能设置时间超过2000年,也就是只能设置199x年的时间,否则后续写文件会出错。
耗费了我几个小时,孩子假期里终于可以愉快的练打字了。