博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
星号密码探测工具 - 代码远程线程注入的简单运用
阅读量:7025 次
发布时间:2019-06-28

本文共 801 字,大约阅读时间需要 2 分钟。

  忙里偷闲, 在看雪论坛上面看到有人发布了一个"Win7星号密码探测工具", 发现"有那么一点"小用处.

  
  用处不大的原因是:这个程序的的能力相当有限, 只能查看一部分安全性不高的软件的密码框里面的程序,
如果你要拿它来看QQ的密码, 想当然, 那是不可能了.
  
  程序使用到了一种非常古老的技术来实现获取其它进程密码框的内容:远程线程注入后,使用WM_GETTEXT消息来获取
指定Edit的内容.  之所以说非常古老, 是因为这种方法早在2003年就有一牛人在CodeProject上面发表了这样的文章,
一篇非常经典, 带领许多人入门的文章:
  
  我的这个程序大部分代码来自上面的文章, 不过基本全部是我自己重新写的, 只写了核心部分, 实现了功能即可. 也算是
我学习学习远程线程注入的方法.
  工作原理:
    大家都知道, 在当前进程内通过发送WM_GETTEXT消息给某控件, 就可以取得控件的文本, 但是, 当你取得不属于当前
进程的控件句柄, 想要获取其文本的时候, 你认为可能吗? 早在Win98之时, 这是可能的, 不过到了后面的Win2000, WinXP,
这种方法也能用, 但是, 如果EDIT控件加上了ES_PASSWORD属性后, 这种方法就失效了...
    所以作者提到的办法就是注入一个线程到远程进程, 并执行WM_GETTEXT, 并使远程线程与当前进程进程间通信, 取得密码.
之所以能够取得密码, 是因为取密码的工作已经交给了远程线程, 远程线程是运行在远程进程的地址空间内的, 属于同一进程,所以没问题.
    细节还请参考源代码, 稍后公开, 因为还有点没处理好.
  效果图:
  程序及源代码下载:
  女孩不哭 @ 2013-06-08 02:32:15 @ http://www.cnblogs.com/nbsofer

你可能感兴趣的文章
快速构建Windows 8风格应用31-构建磁贴
查看>>
Qt可视化-QTableWidget学习小结
查看>>
WordPress优化:为博客边栏添加小宠物
查看>>
技术分享连载(五十八)
查看>>
JPDA 架构研究8 - Agent利用环境指针访问VM(堆栈管理篇)
查看>>
2017 Unity手游体检蓝皮书 — ARPG篇
查看>>
Optimize GameObject选项对骨骼Transform的影响
查看>>
Android开发应用实例:计算标准体重的实例(简单版)
查看>>
6.2. The Context of the Web
查看>>
crontab实例分析
查看>>
ASP.NET MVC 3和Razor中的@helper 语法
查看>>
CentOS6、7 LVM逻辑卷分区自动扩容Shell脚本编程思路与实例
查看>>
jQuery1.7.2正式发布了
查看>>
递归遍历目录中的所有文件
查看>>
详解Spring MVC 4之DispatcherServlet
查看>>
改写的日历小程序(Java)
查看>>
Java多线程初学者指南(7):向线程传递数据的三种方法
查看>>
将一列的转换成一行
查看>>
Virtual Machine Manager 2008 2008 R2系列之安装部署
查看>>
软件工厂(Software factory)介绍
查看>>