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

目录

前言

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

一、下载星号密码查看器

星号密码查看工具有很多,这里推荐一款经过实际测试的软件AsteriskPassword,该软件2013年发布,目前找不到作者和发布来源了,相对来说安全一些,毕竟查看的是服务器密码,还是要注意数据安全,使用时注意切断网络,使用后删除,下次再重新解压,以防万一。

我上传了一份,设置的0积分,不知道能不能随意下载:
星号密码查看器-AsteriskPassword

软件来源:
百度网盘 提取码:ugep

二、查看星号密码

在要查看密码的会话上右键,选择属性

点击用户身份验证,可以看到之前保存的密码,只是显示为小黑圆点

解压压缩包,可以看到AsteriskPassword上次修改日期为2013年,当然发布日期有可能更早,解压后只有602KB

软件打开如下,如果系统提示不安全不用管,把网断了就行,这个放大镜就是查看按钮

鼠标点住放大镜拖动,这个截不到,鼠标指针会变成放大镜的样子,移动到密码的区域,在查看工具中的编辑框文本后面就会显示原来的密码文字了

三、原理分析

使用这个工具能查看密码的本质原因是原位置存放的就是正确密码,只不过在展示的时候用星号替换了,应该是存在内存里,这个工具就是查每个元件在内存中对应的文本(猜测)

测试一下,这部分的文本是"Tree1"

"密码(P):"对应的是"密码(&P):"

换一个软件Navicat就没办法了,这里可能存的就是星号,也可能对这种查看方式做了防范

问一问deepseek,和预想的差不多

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

// 步骤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如何查看登录密码

相关推荐
慧一居士4 小时前
Linux如何设置固定的静态ip
运维
国服第二切图仔5 小时前
13其他工具 - Skill/LSP/Sleep等
linux·运维·里氏替换原则
逛逛GitHub5 小时前
盘点 18 个 Kimi K3 外网爆火的案例,太令人惊艳了。
github
就不掉头发5 小时前
计算机的虚拟内存
linux·服务器·windows
暴力求解6 小时前
Linux ---线程控制(二)
linux·运维·服务器·操作系统
smartvxworks6 小时前
Linux 实时内核(Linux Real-Time Kernel)详解:原理、实践与优化
java·linux·服务器
梦痕长情6 小时前
等保三级三权账户
linux·运维·服务器
wuqingshun3141597 小时前
说说TCP的3次握手?为什么需要三次握手?
服务器·网络协议·tcp/ip
CHANG_THE_WORLD7 小时前
1.简单的服务端和客户端(仅作为内容补充)
linux·服务器·网络
jiecy7 小时前
为Linux系统双网卡配置静态路由
linux·运维