|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 | 
|     『楼 主』:
 都在一个程序里,备份恢复 MBR,DBR,FAT,CMOS
 
使用 LLM 解释/回答一下 
 
 
把自己写的 备份恢复 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 ]
 
 
 
 
 
 
附件
1:  dosback.rar (2006-7-21 00:05, 24.1 KiB,下载次数: 554) 
 |  | 
|  2006-6-26 02:21 |  | 
|  | 
 
| electronixtar 铂金会员
 
        
 
 
 
 积分 7493
 发帖 2672
 注册 2005-9-2
 状态 离线
 | 
| 『第 2 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
收藏一个,顶! 
 
 
 
 
 |  
                  |  
 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'>"
 |  | 
|  2006-6-26 11:58 |  | 
|  | 
 
| cain 中级用户
 
    
 
 
 
 积分 201
 发帖 72
 注册 2005-11-20
 状态 离线
 | 
| 『第 3 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
GOTOmsdos 我试用了破解 CMOS密码的功能,显示密码是:00001223这是什么意思呢?实际上我的密码是小写字母k
 
 
 
 
 |  | 
|  2006-7-2 20:43 |  | 
|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 | 
| 『第 4 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
解出的密码能进入吗?这个破解功能不是解出原先的密码,是解出一个同样可以进入的密码。
 因为,实际上CMOS存放密码的空间只有两个字节,不可能把输入的8个字节都装进去!
 只是按照预定的编码规则进行编码的。
 
 Last edited by GOTOmsdos on 2006-7-2 at 22:17 ]
 
 
 
 
 |  | 
|  2006-7-2 22:06 |  | 
|  | 
 
| cain 中级用户
 
    
 
 
 
 积分 201
 发帖 72
 注册 2005-11-20
 状态 离线
 |  | 
|  2006-7-2 23:51 |  | 
|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 | 
| 『第 6 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
哦,不能进?在我的机子上解出的密码,虽然不是原先密码,但是可以进的。。
 可能我采用的解密程序有局限吧?
 
 不过,你试一试 1223 看怎么样?
 
 
 
 
 |  | 
|  2006-7-3 00:30 |  | 
|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 |  | 
|  2006-7-6 02:43 |  | 
|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 |  | 
|  2006-7-9 17:27 |  | 
|  | 
 
| zhouhb 中级用户
 
    
 
 
 积分 230
 发帖 104
 注册 2006-4-21
 状态 离线
 |  | 
|  2006-7-12 15:46 |  | 
|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 |  | 
|  2006-7-16 19:38 |  | 
|  | 
 
| jpzsj 初级用户
 
   
 
 
 
 积分 43
 发帖 26
 注册 2005-10-7
 状态 离线
 |  | 
|  2006-7-16 22:44 |  | 
|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 | 
| 『第 12 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
刚刚把注释掉的代码全清理掉了,并整理了代码,补充了注释,用VC 的对齐功能对齐了,看起来清爽了。更新了。
 
 
 
 
 |  | 
|  2006-7-18 00:32 |  | 
|  | 
 
| GOTOmsdos 铂金会员
 
        C++启程者
 
 
 积分 5154
 发帖 1827
 注册 2003-7-18
 状态 离线
 | 
| 『第 13 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
发现这个程序在获取老硬盘参数时的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 ]
 
 
 
 
 |  | 
|  2006-7-20 18:09 |  | 
|  | 
 
| liangkai 新手上路
 
  
 
 
 
 积分 2
 发帖 1
 注册 2006-7-24
 状态 离线
 |  | 
|  2006-7-24 10:49 |  | 
|  | 
 
| myh159357 新手上路
 
  
 
 
 
 积分 6
 发帖 3
 注册 2006-5-30
 状态 离线
 |  | 
|  2006-7-24 19:39 |  |