无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4069|回复: 11
打印 上一主题 下一主题

[求助] G4D的MD5crypt输出格式是?怎样才能让它能够被password命令使用?

[复制链接]
跳转到指定楼层
1#
发表于 2016-11-5 19:31:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 不知 于 2016-11-5 19:41 编辑

想做个简易密码保护,但是md5crypt好像不能达到预期。
使用命令1:
echo 123456 | md5crypt > (md)0x80000+1 ;;cat (md)0x80000+1 ;; cat --locate=: | set skip= ;; dd if=(md)0x80000+1 of=(md)0x80000+1 bs=1 skip=%skip% ;; dd if=(md)0x80000+1 of=(md)0x80000+1 bs=1 skip=1 ;; cat (md)0x80000+1 | set pass= ;; password --md5 %pass%
输123456验证失败
而直接使用命令2:
password 123456
输123456验证成功。
实际应用时,会把(md)0x80000+1 改为硬盘的某一扇区储存md5值。

temp.PNG (16.48 KB, 下载次数: 78)

temp.PNG
推荐
发表于 2016-11-7 10:38:16 | 只看该作者
以下是从QGHO中提取的部份代码

set /p newpwd=Input New Password: || exit
md5crypt %newpwd% | set newpwd=
set newpwd=%newpwd:~11%
echo
echo -n Verify New Password
password --md5 %newpwd%

点评

谢谢指点。  详情 回复 发表于 2016-11-7 12:34
回复

使用道具 举报

3#
 楼主| 发表于 2016-11-6 14:25:08 | 只看该作者
看来只有使用明文密码了。
回复

使用道具 举报

4#
发表于 2016-11-6 15:31:51 | 只看该作者
我不相信,置顶的教程里面没有这方面的内容?

如果确实没有的话,那么在搜索引擎里面搜一搜中文教程,实在不行的话,找找英文教程。“口令加密” 是 gnu grub 原有的内容,不是 grub4dos 新增的内容。因此,grub legacy 里面的教程,不管是中文还是英文,都是适用的。

百度如果不行,可以试试谷歌或其它搜索引擎。

点评

谢谢  详情 回复 发表于 2016-11-6 16:02
回复

使用道具 举报

5#
 楼主| 发表于 2016-11-6 16:02:31 | 只看该作者
不点 发表于 2016-11-6 15:31
我不相信,置顶的教程里面没有这方面的内容?

如果确实没有的话,那么在搜索引擎里面搜一搜中文教程,实 ...

谢谢
回复

使用道具 举报

6#
 楼主| 发表于 2016-11-7 12:34:54 | 只看该作者
本帖最后由 不知 于 2016-11-7 12:45 编辑
chenall 发表于 2016-11-7 10:38
以下是从QGHO中提取的部份代码

set /p newpwd=Input New Password: || exit

谢谢指点。
知道了,是对md5crypt使用了命令管道的原因,直接在md5crypt后加字符串就没问题。

1.jpg (62.81 KB, 下载次数: 77)

1.jpg

点评

echo加参数-n,我测试成功了 见下图虚线框中部分,虚线框上面是没加参数-n  详情 回复 发表于 2016-11-8 14:25
记得windows下用md5加密不能用echo %Pass2%>MD5P.TMP,而是用>MD5P.TMP  详情 回复 发表于 2016-11-8 09:15
回复

使用道具 举报

7#
发表于 2016-11-8 09:15:37 | 只看该作者
不知 发表于 2016-11-7 12:34
谢谢指点。
知道了,是对md5crypt使用了命令管道的原因,直接在md5crypt后加字符串就没问题。

记得windows下用md5加密不能用echo %Pass2%>MD5P.TMP,而是用>MD5P.TMP <nul Set/p=%Pass2%这种方式,前者会在MD5P.TMP产生换行,也就是MD5P.TMP的内容为%Pass2%和换行,后者在MD5P.TMP只会存在%Pass2%,不会存在换行

不知道grub4dos中的md5crypt是否和windows下用md5加密不能直接用echo类似
grub4dos的echo参数 -n不知道行不行
echo -n 123456 | md5crypt

点评

谢谢,有可能吧,我中午去试一下。  详情 回复 发表于 2016-11-8 09:28
回复

使用道具 举报

8#
 楼主| 发表于 2016-11-8 09:28:14 来自手机 | 只看该作者
yjqd 发表于 2016-11-8 09:15
记得windows下用md5加密不能用echo %Pass2%>MD5P.TMP,而是用>MD5P.TMP

谢谢,有可能吧,我中午去试一下。
回复

使用道具 举报

9#
发表于 2016-11-8 14:25:46 | 只看该作者
本帖最后由 yjqd 于 2016-11-8 17:05 编辑
不知 发表于 2016-11-7 12:34
谢谢指点。
知道了,是对md5crypt使用了命令管道的原因,直接在md5crypt后加字符串就没问题。


好像你1楼命令没写完吧cat --locate=: | set skip=
cat --locate=: (md)0x80000+1 | set skip=

echo加参数-n,我测试成功了


见下图虚线框中部分,虚线框上面是没加参数-n

md5测试.jpg (42.09 KB, 下载次数: 83)

echo加参数-n

echo加参数-n

点评

看来确实是换行的问题。谢谢。  详情 回复 发表于 2016-11-8 18:36
从echo到%pass%是一条命令,用chenall大元帅的代码吧,简洁多了。  详情 回复 发表于 2016-11-8 18:35
回复

使用道具 举报

10#
 楼主| 发表于 2016-11-8 18:35:35 | 只看该作者
本帖最后由 不知 于 2016-11-8 19:46 编辑
yjqd 发表于 2016-11-8 14:25
好像你1楼命令没写完吧cat --locate=: | set skip=
cat --locate=: (md)0x80000+1 | set skip=


从echo到%pass%是一条命令,用chenall大元帅的代码吧,简洁多了。


现在其实是这样的:在分区根目录放一文件pass存放密码。
初始密码:
123456
pass内容:
$1$2ei2$Bm7jo8/I0tIbu6B8vsPIW
菜单代码:
find /pass | set pwroot=
cat %pwroot%/pass | set pass=
password --md5 %pass%
timeout 0
default  0

title boot

echo -n Verify  Password:
if "%pass%"=="" echo no password
if not "%pass%"==""  password --md5 %pass%

find --set-root /bootmgr && chainloader /bootmgr
find --set-root /ntldr && chainloader /ntldr

title change password

echo -n Verify  Password:
if "%pass%"=="" echo no password
if not "%pass%"==""  password --md5 %pass%

set /p newpw=Input New Password:
if "%newpw%"=="" echo > %pwroot%/pass && exit
if not "%newpw%"=="" md5crypt %newpw% | set newpw=
set newpw=%newpw:~11%

set /p newpwd=Input New Password Again:
md5crypt %newpwd% | set newpwd=
set newpwd=%newpwd:~11%

if %newpw%==%newpwd%  echo -n %newpwd% > %pwroot%/pass
if not %newpw%==%newpwd%  echo change password failed,please try again,press enter to exit && set /p pause=

点评

明白了,原来命令可以连写 ----------------------------------------------------------------------------- 当然了,chenall大元帅是直接用的截取命令,没写入到内存,代码就少多了 --------------------------  详情 回复 发表于 2016-11-8 18:53
回复

使用道具 举报

11#
 楼主| 发表于 2016-11-8 18:36:32 | 只看该作者
yjqd 发表于 2016-11-8 14:25
好像你1楼命令没写完吧cat --locate=: | set skip=
cat --locate=: (md)0x80000+1 | set skip=

看来确实是换行的问题。谢谢。
回复

使用道具 举报

12#
发表于 2016-11-8 18:53:49 | 只看该作者
不知 发表于 2016-11-8 18:35
从echo到%pass%是一条命令,用chenall大元帅的代码吧,简洁多了。

明白了,原来命令可以连写
-----------------------------------------------------------------------------
当然了,chenall大元帅是直接用的截取命令,没写入到内存,代码就少多了
-----------------------------------------------------------------------------
要是微软的echo也有-n参数功能就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-30 12:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表