忘记服务器密码,在Xshell7中查看已保存密码

前言

很久以前在Xshell中登录服务器时填写了服务器密码,最近想在另一台电脑上登陆时,找不到密码了,所以想是否有方法查看Xshell7中已保存的密码。

一、下载星号密码查看器

星号密码查看工具有很多,这里推荐一款经过实际测试的软件AsteriskPassword,该软件2013年发布,目前找不到作者和发布来源了,相对来说安全一些,毕竟查看的是服务器密码,还是要注意数据安全,使用时注意切断网络,使用后删除,下次再重新解压,以防万一。
我上传了一份,设置的0积分,不知道能不能随意下载:
星号密码查看器-AsteriskPassword
软件来源:
百度网盘 提取码:ugep

二、查看星号密码

在要查看密码的会话上右键,选择属性
在这里插入图片描述
点击用户身份验证,可以看到之前保存的密码,只是显示为小黑圆点
在这里插入图片描述
解压压缩包,可以看到AsteriskPassword上次修改日期为2013年,当然发布日期有可能更早,解压后只有602KB
在这里插入图片描述
软件打开如下,如果系统提示不安全不用管,把网断了就行,这个放大镜就是查看按钮
在这里插入图片描述
鼠标点住放大镜拖动,这个截不到,鼠标指针会变成放大镜的样子,移动到密码的区域,在查看工具中的编辑框文本后面就会显示原来的密码文字了
在这里插入图片描述

三、原理分析

使用这个工具能查看密码的本质原因是原位置存放的就是正确密码,只不过在展示的时候用星号替换了,应该是存在内存里,这个工具就是查每个元件在内存中对应的文本(猜测)
测试一下,这部分的文本是“Tree1”
在这里插入图片描述
“密码(P):”对应的是“密码(&P):”
在这里插入图片描述
换一个软件Navicat就没办法了,这里可能存的就是星号,也可能对这种查看方式做了防范
在这里插入图片描述
问一问deepseek,和预想的差不多
在这里插入图片描述

// 伪代码:星号密码查看器逻辑

// 步骤1:获取当前聚焦的窗口句柄
HWND focused_window = GetFocus();

// 步骤2:验证窗口类是否为“Edit”(编辑框)
if (GetClassName(focused_window) == "Edit") {

    // 步骤3:检查是否启用ES_PASSWORD样式
    DWORD style = GetWindowLong(focused_window, GWL_STYLE);
    if (style & ES_PASSWORD) {

        // 步骤4:获取密码文本长度
        int length = SendMessage(focused_window, WM_GETTEXTLENGTH, 0, 0);

        // 步骤5:分配缓冲区并获取明文密码
        char[] buffer = new char[length + 1];
        SendMessage(focused_window, WM_GETTEXT, length + 1, buffer);

        // 步骤6:输出或显示密码
        Print("Recovered Password: " + buffer);
    }
}

还找了两个提供源码的工具,等有时间自己也写一个
GitHub:https://github.com/gh0stkey/AsteriskPassword
吾爱破解:[Windows] 自己写的一款星号密码查看器

参考

Xshell7如何查看登录密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值