- 注册时间
- 2004-11-14
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2005-7-27 13:25:00
|
显示全部楼层
这个升级文件的原理是改运行开机画面的跳转(内核中运行开机画面地址在06页的7754),当SKI文件存在时,就会运行SKI.当不存在文件或打开错误时,在$7DFF的程序会将存开机画面文件名的地址清空,并且会JMP$780F.修改这里可以使SKI打开失败后运行我们写的代码.这段代码的内容是打开一个"系统"文件,在这里是view_b16(B16浏览器).同时,view_b16也做了修改,先找到它打开文件的地方,之前应该是列表的程序,我在进入这段程序之前改了一个跳转(在4146),内容是判断0488也就是密码开关,如果为0,说明是开机运行的,直接从存储开机画面ASCII码的地址(09DD)找到文件名并打开(如果那个文件也不存在,就会黑屏,不过不是死机黑屏,只是B16浏览器找不到文件的结果).跳出时也作同样的判断(4298),如果是开机进入的,就不返回文件列表,直接INT$2312.
其实根据这个原理,我们能做的还有很多,不一定是开机运行B16,只要通过一定修改,可以开机FLM,开机HGP,甚至是开机LAVA,开机BAS.这不是就像WINDOWS中的开机运行了吗?如果再强一点,甚至还可以搞文件关联(以前看帖子就有人搞过),不过难度要大很多.
这个方法比较难的主要是找BIN打开文件的地址,本来想用HGP浏览器的,但是它太复杂了,所以改用B16浏览器. |
|