忘记服务器密码,在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如何查看登录密码

相关推荐
小领航17 小时前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
李同学Lino17 小时前
别再让Agent瞎写屎山代码了!带你用Superpowers重塑Vibe Coding体验(附保姆级教程)
github
海的透彻17 小时前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
路溪非溪17 小时前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神17 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
航Hang*18 小时前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
HashTang18 小时前
用自然语言驱动的开源 3D 建筑设计编辑器-Aedifex
前端·github·ai编程
fengfuyao98518 小时前
VC++基于服务器的点对点文件传输实例
服务器·开发语言·c++
favour_you___18 小时前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll
北方的流星18 小时前
华三网络设备的路由重定向配置
运维·网络·华三