上一页 1 ··· 107 108 109 110 111 112 113 114 115 ··· 122 下一页

2009年11月10日

Windows Debugging之八

摘要: I/O系统组件 ================== Windows I/O系统的设计目标就是为以下一些特性的应用程序提供设备的抽象, 设备包括硬件设备和软件设备(虚拟设备和逻辑设备). 对跨设备的共享资源进行统一的安全和命名 对于可度量的应用程序, 提供基于IO包的,高性能的异步支持. 允许用高级语言写驱动程序, 和更容易的在不同机器架构之间迁移. 拥有分层能力和扩展能力. 允许另外的驱动透... 阅读全文

posted @ 2009-11-10 16:22 中道学友 阅读(372) 评论(0) 推荐(0)

Windows Debugging之七

摘要: 地址转换 ============== 内存管理器创建了一种叫做页表的数据结构(page tables), CPU通过这个数据结构来完成从虚拟地址向物理地址的转换. 每一个虚拟地址都跟一个系统空间结构叫做PTE(page table entry)的相关. PTE结构包含了虚拟地址相对应的物理地址. 比如说, 下图就显示出了如何将连续的虚拟页面映射到三个不连续的物理页面上的(x86) 默认的情况... 阅读全文

posted @ 2009-11-10 10:00 中道学友 阅读(391) 评论(0) 推荐(0)

2009年11月9日

Windows Debugging之六

摘要: 内存管理 =============== 内存管理器(memory manager)提供了一系列的系统服务来分配(allocate)和释放(free)虚拟内存, 在进程间共享内存, 将文件映射到内存, 冲洗(flush)虚拟页面到磁盘上, 重新获取关于一系列虚拟页面的信息, 修改虚拟页面的保护设置, 锁定虚拟页面到内存中.   内存管理器的两个主要任务 转换, 映射进程的虚拟地址... 阅读全文

posted @ 2009-11-09 20:21 中道学友 阅读(501) 评论(0) 推荐(0)

Windows Debugging之五

摘要: 线程调度 =============== Windows实现了一个优先级驱动,抢占式的调度系统--最高优先级的可运行的线程会一直运行下去, 线程只能运行在允许它运行的某些处理器上, 这种现象叫做processor affinity. 默认的, 线程可以运行在任意一个available的处理器上, 但是你可以通过Windows scheduling function来设置存在于image hea... 阅读全文

posted @ 2009-11-09 10:16 中道学友 阅读(423) 评论(0) 推荐(0)

2009年11月8日

Windows Debugging之四

摘要: 进程深入 ===========         每一个Windows进程都是由一个叫做executive process(EPROCESS)的块表示的。它除了包含许多跟进程相关的属性之外,还包含和指向另外的一系列其他相关的数据结构。比如说,每一个进程都有一个或更多的用来表示线程的结构executive thread(ETH... 阅读全文

posted @ 2009-11-08 19:20 中道学友 阅读(680) 评论(0) 推荐(0)

我接触过的windbg命令

摘要: windbg的一些常用命令 阅读全文

posted @ 2009-11-08 15:27 中道学友 阅读(556) 评论(0) 推荐(0)

2009年11月6日

neg eax sbb eax, eax

摘要: 今天下午看一个反汇编的代码,并试图跟源代码对上号。 下面的语句组合让我非常费解,花了好久才弄清楚。贴出来,供大家参考。         neg     r         sbb   &... 阅读全文

posted @ 2009-11-06 15:56 中道学友 阅读(4995) 评论(0) 推荐(0)

详解LEA指令

摘要: 初学汇编,可能对LEA指令很迷惑。关于LEA指令,下面的文章写的很好。   比如你用local在栈上定义了一个局部变量LocalVar,你知道实际的指令是什么么?一般都差不多像下面的样子: push   ebp   mov   esp,   ebp   sub   ... 阅读全文

posted @ 2009-11-06 15:34 中道学友 阅读(8483) 评论(0) 推荐(0)

汇编语言基础之九- 关于栈指针的规律性的总结

摘要: 栈底指针可以被用来判断传递的参数的值,还有函数的局部变量的值。让我们继续用上一个例子来说明一下吧。 ChildEBP RetAddr 0012ff34 00401121 Simple!Foo2+0x64 [C:\Labfiles\Module04\Simple\Simple.cpp @ 82] 0012ff4c 004010da Simple!Foo1+0x31 [C:\Labfiles\Module04\Simple\Simple.cpp @ 65] 0012ff64 00401096 Simple!Foo+0x2d [C:\Labfiles\Module04\Simpl... 阅读全文

posted @ 2009-11-06 11:01 中道学友 阅读(1691) 评论(0) 推荐(0)

2009年11月5日

如何判断某键的是否按下

摘要: 判断某键是否按下,应使用WINAPI的GetKeyState函数。MSDN给出这样的解释: The GetKeyState function retrieves the status of the specified virtual key. The status specifies whether the key is up, down, or toggled (on, off—alterna... 阅读全文

posted @ 2009-11-05 23:25 中道学友 阅读(2005) 评论(0) 推荐(0)

上一页 1 ··· 107 108 109 110 111 112 113 114 115 ··· 122 下一页

导航

技术追求准确,态度积极向上