消息钩子是怎么注入dll的(如何打开DLL文件)

消息钩子是怎么注入dll的(如何打开DLL文件)

.dll 是什么程序的后缀?

dll是系统数据库的文件,不可以随便删除。每个软件或程序都有dll文件,如果丢失这个文件的话,那吗这个文件或程序将无法运行,电脑会弹出“windows找不到。。。。。dll”这样的提示。

动态链接库文件 一般在更新系统文件时会用到

DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。

DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。

DLL的全称是Dynamic Link Library, 中文叫做“动态链接文件”。在Windows操作系统中, DLL对于程序执行是非常重要的, 因为程序在执行的时候, 必须链接到DLL文件, 才能够正确地运行。而有些DLL文件可以被许多程序共用。因此, 程序设计人员可以利用DLL文件, 使程序不至于太过巨大。但是当安装的程序越来越多, DLL文件也就会越来越多, 如果当你删除程序的时候, 没有用的DLL文件没有被删除的话, 久而久之就造成系统的负担了。

DLL是动态连接库。使用动态连接库的一些好处是:
1.多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。
2.在钩子程序过滤系统消息时必须使用动态连接库。
3.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与合作。而且,各个模块可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连接库中,让小组的其他成员使用。
4.为了实现应用程序的国际化,往往需要使用动态连接库。使用动态连接库可以将针对某一国家、语言的信息存放在其中。对于不同的版本,使用不同的动态连接库。在使用AppWizard生成应用程序时,我们可以指定资源文件使用的语言,这就是通过提供不同的动态连接库实现的。
VC 、C Builder、Delphi都可以编写DLL文件。Visual Basic 5.0以上版本也可以编写一种特殊的DLL,即ActiveX DLL。

DLL不是独立运行的程序,它是某个程序的一个部分,它只能由所属的程序调用。用户不能,也不需要打开它。

安装消息钩子是什么意思

百度我已经看过了,没有具体的。请高手做答,请详细点。谢谢
我现在就是挂GUI的线程ID了.

我是这样做: 我把A.dll注入到了QQ的登陆窗体进程,然后在A.dll内部就自己运行查找该被注入的QQ的登陆窗体的线程ID[PS:已经跟踪很多次了,我找的QQ登陆窗体的线程ID号跟用SPY 的一样],然后再把QQ登陆窗体的线程ID 传递给SetWindowsHookEx函数.

我是这样使用SetWindowsHookEx
SetWindowsHookEx(xxx, xxx, NULL, QQ登陆窗体线程ID) ;
理论上,我的步骤合情合理呀. 一切操作都是在A.dll内部完成就是不起作用.

但是,我用外部程序给QQ安装钩子,就成功. 但是用 注入的方式在QQ内部运行安装钩子就是不成功!

安装一个钩子函数,用于在消息发送到目标窗口过程前将其截取。 该类型可以是一个系统级别的钩子或者线程级别的钩子。

也就是通过安装“消息钩子”,可以窃取网络游戏玩家的账号密码,发送到黑客指定的远程服务器或邮箱,导致用户无法正常运行游戏

9.14预警:安装消息钩子盗取的QQ号码的木马 http://www.cnnsr.com.cn/jtym/download/20060914/2006091416434728827.shtml

如何打开DLL文件?

用反编译软件打开DLL库类文件,试过了reshack和PE.Explorer都不行。能有什么办法打开吗?获得文件内的源码。
一楼的是废话!用OD就可以打开!OllyDBG这个软件可以反汇编的!自己搜索一下!

可以用Resource Hacker打开,可以编辑dll文件的一些资源,如修改图标和一些字符串等等
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。

DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。

DLL的全称是DynamicLinkLibrary,中文叫做“动态链接文件”。在Windows操作系统中,DLL对于程序执行是非常重要的,因为程序在执行的时候,必须链接到DLL文件,才能够正确地运行。而有些DLL文件可以被许多程序共用。因此,程序设计人员可以利用DLL文件,使程序不至于太过巨大。但是当安装的程序越来越多,DLL文件也就会越来越多,如果当你删除程序的时候,没有用的DLL文件没有被删除的话,久而久之就造成系统的负担了。

DLL是动态连接库。使用动态连接库的一些好处是:
1.多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。
2.在钩子程序过滤系统消息时必须使用动态连接库。
3.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与合作。而且,各个模块可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连接库中,让小组的其他成员使用。
4.为了实现应用程序的国际化,往往需要使用动态连接库。使用动态连接库可以将针对某一国家、语言的信息存放在其中。对于不同的版本,使用不同的动态连接库。在使用AppWizard生成应用程序时,我们可以指定资源文件使用的语言,这就是通过提供不同的动态连接库实现的。
VC 、C Builder、Delphi都可以编写DLL文件。VisualBasic5.0以上版本也可以编写一种特殊的DLL,即ActiveXDLL。

DLL不是独立运行的程序,它是某个程序的一个部分,它只能由所属的程序调用。用户不能,也不需要打开它。
参考资料:百度知道历史回答

发表评论

登录后才能评论