1 思路和适用条件
本文所述的方法实际是利用部分软件记住密码时没有加入保护机制的漏洞。记住的密码在界面上显示是一排星号,但是这部分密码实际上是以明码的格式存储在控件内。这种方法对于大厂开发的保护机制做的很完善的软件并不适用,但是对于一些不规范开发的软件很有效。
适用情况如下:
- 软件输入密码界面使用Windows的文本输入控件,而不是独立开发的第三方控件。
- 记住的密码采用明码存储,而不是加密后的数值(例如MD5)。如果你知道怎么从加密后的密码译回去也可(笑)。
整体思路如下:
- 找到输入密码的文本框,获取句柄。
- 读取文本框内数据值。
2 软件需求
2.1 SPY++
Windows电脑安装了Visual Studio就自带了SPY++,对于Win10可以在Cortana搜索“SPY++”,或者在开始界面直接找到。如果电脑上没有安装的话,可以直接在度娘处找到安装包。
我的电脑上有SPY++ 和*SPY++(64位)*两个程序,功能上是一样的,不过64位的程序还是建议用64位的SPY++。我实际使用的时候发现,也有部分程序只有在32位的SPY++下才能正常工作。