密码揭示器如何工作?

时间:2010-01-19 03:58:36

标签: security winapi ipc password-protection

我见过一些密码揭示软件。他们中的大多数都有像指针一样的拍摄指针,您只需指向密码文本框,软件就会显示密码。

但受保护的软件和启示软件仍未互连。它们是在同一主机上运行的独立进程。

我的疑问是,

  
      
  1. 一个进程如何访问其他软件的信息?
  2.   
  3. 有什么限制?
  4.   
  5. 我可以用什么做法来防止这种情况?
  6.   

编辑:是的,使用虚拟数据保存密码是最常用的解决方案。但是仍然可以将同样的理论应用于其他一些案例吗?例如,外部程序可以读取您的电子邮件,间谍程序可以记录您的活动等。甚至我们可以实现一些很酷的功能,如拖放支持IE到Mozilla:)

  

所以在这种情况下最有效   解决方案将是“阻止”   机制。反正有没有这样做? (避免访问进程的资源???)

4 个答案:

答案 0 :(得分:2)

可能通过查找控件并向文本框发送消息,将“密码”字符更改为空白(即它将重新开始)。

所以:

  1. 通过向他们发送Windows消息

  2. 我记不清了,但我很确定你只需要窗口把手。

  3. 根本不要在密码字段中显示密码。只需将其放在内存中的某个位置,只有在用户特别要求时才显示它。

答案 1 :(得分:2)

正如silky所说,这只是发送Windows消息的问题,有一个非常简单的source可以同时显示所有密码字段。一个简单的对策是密码字段,它保存虚拟字符而不是真实密码。您可以捕获正在键入的内容,将其存储在变量中,并将其替换为密码字段中的虚拟字符。

答案 2 :(得分:0)

关于Windows XP SP2,这个“弱点”已经被淘汰了吗?在任何情况下,我都非常确定用于密码的标准Windows文本框控件得到了升级,这样你就不能只使用像Spy ++这样的工具来查看被屏蔽的实际文本。

答案 3 :(得分:0)

密码的工作方式:
设置密码时,使用散列函数将密码转换为散列值,并且存储该散列值。密码永远不会存储。当用户登录时,密码被哈希并与存储的哈希值进行比较。如果两个哈希值匹配,则用户提交了正确的密码。

为了显示密码,必须将存储的哈希值与具有已知哈希值的某些内容进行比较,或者在哈希函数损坏的情况下,可以将哈希值猜测到提交的值中。这些可能性的后期是思科密码破解程序使用的方法,如果你可以进入框中,因为思科使用了一个众所周知的弱哈希函数。在以后的Windows操作系统中,使用的哈希函数是NTLM,它非常强大。在这种情况下,您必须将存储的哈希值与已知哈希值进行比较。此方法称为彩虹表。典型的字母数字和7位ASCII特殊字符14字符密码具有64gb大的彩虹表。这就是为什么更长的密码非常优越,因为将哈希值与数十亿其他值进行比较需要几分钟的时间。