楼 主
都在一个程序里,备份恢复 MBR,DBR,FAT,CMOS
发表于 2006-06-26 02:21 · 中国 北京 联通
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
把自己写的 备份恢复 MBR,DBR,FAT,CMOS 的程序合并成了一个程序(DOS),大家玩玩吧(有源码)。。。
还有 破解 CMOS密码的功能(不是毁了CMOS,而是生成一个有效的密码。。)
全部在自己的机子上经过测试,目前没有问题。
已更新为 支持大硬盘和老硬盘。。。
*********
最新补充
*********
此程序的局限性位: 比如,只能处理主分区表和第一分区的引导信息
但可喜的是:已全面升级为 miniTO, 可使用其精简版,突破了这些限制,还支持备份整个分区表链,和原硬盘信息比较等等功能
详情,请参看:
http://www.cn-dos.net/forum/viewthread.php?tid=29715&fpage=1
[
Last edited by GOTOmsdos on 2008-8-3 at 06:17 PM ]
第 2 楼
发表于 2006-06-26 11:58 · 中国 四川 成都 联通
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线
收藏一个,顶!
C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
第 3 楼
发表于 2006-07-02 20:43 · 中国 广东 广州 电信
中级用户
★★
积分 201
发帖 72
注册 2005-11-20 20:57
UID 45624
状态 离线
GOTOmsdos 我试用了破解 CMOS密码的功能,显示密码是:00001223
这是什么意思呢?实际上我的密码是小写字母k
第 4 楼
发表于 2006-07-02 22:06 · 中国 北京 联通
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
解出的密码能进入吗?
这个破解功能不是解出原先的密码,是解出一个同样可以进入的密码。
因为,实际上CMOS存放密码的空间只有两个字节,不可能把输入的8个字节都装进去!
只是按照预定的编码规则进行编码的。
[ Last edited by GOTOmsdos on 2006-7-2 at 22:17 ]
第 5 楼
发表于 2006-07-02 23:51 · 中国 广东 广州 电信
中级用户
★★
积分 201
发帖 72
注册 2005-11-20 20:57
UID 45624
状态 离线
解出的密码:00001223 当然不能进,所以才会发帖问了。
第 6 楼
发表于 2006-07-03 00:30 · 中国 北京 联通
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
哦,不能进?
在我的机子上解出的密码,虽然不是原先密码,但是可以进的。。
可能我采用的解密程序有局限吧?
不过,你试一试 1223 看怎么样?
第 7 楼
发表于 2006-07-06 02:43 · 中国 北京 联通
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
第 8 楼
发表于 2006-07-09 17:27 · 中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
第 9 楼
发表于 2006-07-12 15:46 · 中国 安徽 铜陵 移动
中级用户
★★
积分 230
发帖 104
注册 2006-04-21 12:22
UID 54192
性别 男
状态 离线
第 10 楼
发表于 2006-07-16 19:38 · 中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
第 11 楼
发表于 2006-07-16 22:44 · 中国 云南 红河哈尼族彝族自治州 电信
初级用户
★
积分 43
发帖 26
注册 2005-10-07 11:08
UID 43188
状态 离线
第 12 楼
发表于 2006-07-18 00:32 · 中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
刚刚把注释掉的代码全清理掉了,并整理了代码,补充了注释,用VC 的对齐功能对齐了,看起来清爽了。
更新了。
第 13 楼
发表于 2006-07-20 18:09 · 中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
发现这个程序在获取老硬盘参数时的BUG,这个BUG导致读写老硬盘FAT失败
已更正。
原BUG如下:
cylinder=regs.h.ch+1; /* 寄存器的 CH +1 为柱面数 应该是CL的高2位为高2位,CH的8位为低8位 */
sector=regs.h.cl; /* 寄存器的 CL 为每道扇区数 应该是 CL 的低6位 */
改为:
cylinder=((((unsigned int)regs.h.cl)>>6<<8) | regs.h.ch) + 1;
sector=regs.h.cl & 0x3F;
在取值时,没有用指针甚至一般运算,用高效而好玩的位运算。。
现在读写老硬盘FAT就可以了。。
如果有老硬盘的,可以试玩试玩,我自己还没有呢。。
[ Last edited by GOTOmsdos on 2006-7-20 at 20:53 ]
第 14 楼
发表于 2006-07-24 10:49 · 中国 浙江 丽水 电信
新手上路
★
积分 2
发帖 1
注册 2006-07-24 08:41
UID 59108
性别 男
状态 离线
第 15 楼
发表于 2006-07-24 19:39 · 中国 江苏 连云港 电信
新手上路
★
积分 6
发帖 3
注册 2006-05-30 11:32
UID 56253
状态 离线
论坛跳转: