中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: 寻一位会GRUB的朋友合作 上一主题 | 下一主题
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 16 楼』:  



  Quote:
Originally posted by oumiga at 2007-3-19 13:41:


密码同时为999,第一次转成MD5_1保存后,更改密码时输入旧密码,还是999,再转成MD5_2与MD5_1比较时,怎么不一样? 这样旧密码验证是过不去的,请教该如何解决?...

md5_2与md5_1是不一样的。不是md5_2与md5_1比。而是输入的旧密码的md5_1与ini中的md5_1比。一样就验证通过。
前面讲了,md5_1是不变值,md5_2是变值。



Windows 一键还原
http://www.yjhy.com
2007-3-19 20:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
oumiga
初级用户




积分 154
发帖 22
注册 2004-5-30
状态 离线
『第 17 楼』:  

输入999,算出来的MD5_后,替换掉menu.lst中的 密码,然后再写入ini一份MD5_1

当启动时,GRUB就会核对menu.lst中的密码,此时输入999,就过去了,但在WIN下,如果要改密码,首先要核对ini中的md5_1, 这个时候,用户要输入旧密码999,再次转成MD5(此时应该是md5_2),与MD5_1比较,虽然MD5_1与md5_2都是在WIN下设置的密码999,但两次值是不同的,所以,WIN下改密码,此路不通。

我已经找到了解决办法,我用VB生成WIN下的32位或16位 MD5码,这个码是不会变的,我连续转换N次999,其MD5(32位)值还是b706835de79a2b4e80506f582af3676a,MD5(16位)还是e79a2b4e80506f58
因此,我觉得,用WIN下的MD5来核对密码,再修改密码,是比较安全准确的。

在论坛里找了个GRUB MD5的EXE,据说支持SHELL接口(用EXE运行这个MD5得到的MD5值再返回运行它的EXE),但我不会用,我用的是一种笨方法实现的。
现在基本都已搞定,就差测试了
也感谢lianjiang给的思路。让我直接在menu.lst上下手,没去走弯路

[ Last edited by oumiga on 2007-3-20 at 12:17 AM ]

2007-3-20 00:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 18 楼』:  

当启动时,GRUB就会核对menu.lst中的密码,此时输入999,就过去了,但在WIN下,如果要改密码,首先要核对ini中的md5_1, 这个时候,用户要输入旧密码999,再次转成MD5(此时应该是md5_2),与MD5_1比较,虽然MD5_1与md5_2都是在WIN下设置的密码999,但两次值是不同的,所以,WIN下改密码,此路不通。
--------------
上面讲了:
md5_2与md5_1是不一样的。不是md5_2与md5_1比。而是输入的旧密码的md5_1与ini中的md5_1比。一样就验证通过。
md5_1是不变值,md5_2是变值。

难道我还没说明白? 还是你理解问题?呵呵。



Windows 一键还原
http://www.yjhy.com
2007-3-20 00:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 19 楼』:  

这个时候,用户要输入旧密码999,再次转成MD5(此时应该是md5_2),
-------------------
应是MD5_1,不是md5_2。
MD5_1用于win下验证,MD5_2用于grub验证。



Windows 一键还原
http://www.yjhy.com
2007-3-20 00:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
oumiga
初级用户




积分 154
发帖 22
注册 2004-5-30
状态 离线
『第 20 楼』:  



  Quote:
应是MD5_1,不是md5_2。
MD5_1用于win下验证,MD5_2用于grub验证。

运行GRUB MD5 将明码“999”加密后,产生的MD5值命名为MD5_1,
MD5_1 替换menu.lst中的旧密码(如果为空,就直接写上去 password --md5 xxxxx),然后再将MD5_1存到ini中(还用MD5_1变量表示),方便下次重设密码,核对旧密码 这步对吧? 问题来了...

当用户在WIN下重设密码时,要求输入旧密码,此时输入明码 “999”,如果再利用GRUB MD5把这次999的MD5值当做md5_2,与ini中的MD5_1比较的话,肯定不会通过了。因为ini中记录的只有一个数据,就是前MD5_1的值,也就是menu.lst中用的MD5密码。

解决办法:
用两个MD5值
首先还是调用GRUB MD5,得到md5_1,替换menu.lst,然后,ini中存的,是MD5_2,MD5_2必需是WIN下的MD5转换值(明码同是“999”,与GRUB MD5产生的MD5值不同),下次用户输入旧密码时,还用WIN下MD5转换为md5_3
再用MD5_3与存在ini中的MD5_2比较,这样就准确定的通过了。

焦点问题:
MD5_1是GRUB MD5产生的MD5值
MD5_2,MD5_3是WIN下MD5产生的32或16位MD5值,这个值是不会变的。

2007-3-20 00:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 21 楼』:  

假如你仔细看了我的回答,应早就该明白我说的了。
3楼:
“关于第一问,我只讲思路。
1,设置密码,对输入密码字符分别用md5生成校验码(md5_1,此值不变)和生成grub用md5密码(md5_2,此值变),写入(或替换)文件比如pwd.ini。同时把生成的md5_2写入或替换掉menu.lst中旧密码。此密码将在启动grub时要就验证。
2,重设密码。输入就密码,生成md5_1,与pwd.ini中md5_1比较,相同则输入新密码。”

我说的md5_1就是你现在说的MD5_2,我说的md5_2就是你现在说的MD5_1。

看来至今你没明白我说的。
不过,不管如何,你现在自己已解决了,尽管我说了好多废话。呵呵。



Windows 一键还原
http://www.yjhy.com
2007-3-20 01:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
oumiga
初级用户




积分 154
发帖 22
注册 2004-5-30
状态 离线
『第 22 楼』:  

呵呵,老兄,你要是在3楼时,直接再点一下WIN下的MD5用于修改密码,我就不考虑GRUB MD5的值了,也不用上到22楼了,这么累,呵呵

2007-3-20 02:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 23 楼』:  



  Quote:
Originally posted by oumiga at 2007-3-20 02:21:
呵呵,老兄,你要是在3楼时,直接再点一下WIN下的MD5用于修改密码,我就不考虑GRUB MD5的值了,也不用上到22楼了,这么累,呵呵

因为我用的两个工具都叫md5.exe,都能运行与windows,且是命令行方式的。
我只能(会)称之一个是生成grub用md5密码(此值变),一个生成的是校验码(此值不变)。

3楼说l了:“重设密码。输入就密码,生成md5_1,与pwd.ini中md5_1比较,相同则输入新密码。”   难道不是说用与修改密码的吗? 呵呵。



Windows 一键还原
http://www.yjhy.com
2007-3-20 05:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qsj
初级用户





积分 70
发帖 34
注册 2006-10-28
状态 离线
『第 24 楼』:  

grldr的内置菜单,可以用ultraedit打开编辑!

2007-3-20 08:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: