求真我 IP属地:河北

文章 关注 粉丝 访问 贡献
 
共 41 篇文章
显示摘要每页显示  条
windows与应用程序 消息 传递图。windows提供系统消息池和应用程序消息池,用户的任何操作都会产生一个message,记录消息池中。应用程序从消息池拉取消息、解析属于自己的消息(不属于的就不管,交给操作系统执行默认操作)、分发消息到窗口。窗口消息处理程序根据消息类别做出响应。窗口创建、运行、销毁的过程:
WINDOWS将系统队列中的消息取出,并投掷于消息对应的应用程序所属的线程队列。3. 每个应用程序在创建时,系统都会为其创建一个消息队列,发送给应用程序的消息都存放在该消息队列中,等待被处理。该段代码,是的所有该类型的对话框对象共享一个消息MAP表,DispatchMessage会根据消息所属的窗口,调用回调函数WndProc,而WndProc则getMessageMap...
《谈谈windows核心编程系列》 结构化异常处理SEH之。在进入和离开异常处理代码时编译器会插入一些额外的代码,有时这会导致很大的开销。有了finally块的保护后,当执行return-1程序试图退出try块时,编译器会让finally块在return之前执行,同时在return(其他语句,如goto等语句也一样)语句之前插入一些代码。//一些代码。关键字_leave会导致...
我们不需要设置DNS,因此点取消。因为我们只是配置一台WinServer2003的服务器,所以不需要配置DNS。有关DNS的向导全部取消。嘛,DNS什么的随它去啦这样,你的WinServer2003就配置好了。角色配置可以选择配置IIS,也可以选择自己安装Apache。个人觉得IIS比较麻烦,Apache比较简单。大家可以去“添加或删除角色”那里,添加IIS服务,或者自己去下...
虚拟地址与虚拟内存。在最开始看书的时候,我知道程序在运行时,不是全部加入内存当中的,当然,这个现在依旧正确,在有了虚拟地址空间这个概念以后,我一直认为是在硬盘中划分出一块虚拟内存出来,然后给每个程序4G的硬盘空间,作为这个程序的虚拟内存,然后就需要运行哪一块然后哪一块装入内存当中。虚拟内存:虚拟内存是一种逻辑上扩充物理...
如果我们能将导入段中相应导入函数的地址替换成自定义的函数的地址,即可实现对该函数的拦截。此处有一点要特别注意,当我们对某函数进行拦截时,要替换的函数必须与被替换的函数的原型完全相同。我们可以在函数中调用被拦截的函数,也可以不对拦截的函数进行调用而进行其他操作。注意:在拦截后,原来的函数地址已经被我们自定义的函数的地址...
所谓重定位就是当某模块未被载入到首选基地址时,加载器会计算模块实际载入的地址跟首选基地址的差值,将这个差值加到机器指令所引用的原来的地址,得到的就是模块中各指令所引用的数据在本进程地址空间的正确地址,随后加载器会修正模块中对每个内存地址的引用。这时它会再次查看每个模块的导入段,对导入段中每个符号,它会检查对应DLL的导出...
如果线程调用FreeLibraryAndExitThread,此函数在Kernel32.dll中,FreeLibraryAndExitThread函数调用FreeLibrary将线程函数所在的DLL卸载后,其所属DLL Kernel32.dll仍在进程地址空间内,FreeLibraryAndExitThread函数继续执行调用ExitThread,后续代码仍然存在,不会导致访问违规。进程中的一个线程调用LoadLibrary来映射一个DLL,系统使该线程...
《windows核心编程系列》十九谈谈使用远程线程来注入DLL。先别急着让线程调用LoadLibrary载入DLL,现在要考虑的是如何让线程运行起来,即为线程选择线程函数。加载程序从导入表取得每一个导入函数的函数名(字符串),然后在被加载到进程地址空间的DLL中查询之后,填到导入表的相应位置(IAT)的。当程序调用导入函数时,先会调用转换函数,转换...
当为其他进程内的线程安装钩子时,如果钩子函数在DLL中,系统会把DLL映射到那个进程内,使他能在该进程内被调用。当进程A一个线程准备向一个窗口发送一个消息,系统检查该线程是否被安装了钩子,如果该线程被安装了钩子且该消息与钩子要截获的消息类型一致,此消息将被截获。注意:当系统把钩子函数所在的DLL映射到某个进程地址空间时,会映射...
帮助 | 留言交流 | 联系我们 | 服务条款 | 下载网文摘手 | 下载手机客户端
北京六智信息技术股份有限公司 Copyright© 2005-2024 360doc.com , All Rights Reserved
京ICP证090625号 京ICP备05038915号 京网文[2016]6433-853号 京公网安备11010502030377号
返回
顶部