Win32汇编学习笔记(罗云彬)(二)

1.代码段的属性是由PE头部中的属性位决定的,通过编辑exe文件,把代码段的属性位改为可写,程序就允许修改自己的代码段。典型的应用如:这对可执行文件的压缩软件和加壳软件。

2.堆栈段的内存属性是可读可写且可执行的,靠动态修改代码的反跟踪模块可以拷贝到堆栈中边修改边执行。一些病毒和黑客工具用到的缓冲区溢出技术也用到了这一特征。

3.API实际上是以一种新的方式代替了DOS中的软中断。

4.Win32的系统功能模块放在DLL(动态链接库)中,DLL是一种Windows的可执行文件,采用的是与.exe文件同样的PE格式,在PE格式文件头的导出表中,以字符串的形式指出这个DLL能提供的函数列表。

Win32的基础就是由DLL组成的,Win32 API的核心由3个DLL构成,它们是:

  KERNEL32.DLL——系统服务功能。包括内存管理、任务管理和动态链接等。

  GDI32.DLL——图形设备接口。

  USER32.DLL——用户接口服务。建立窗口和传送消息等。

5. sizeof 和 lengthof : sizeof伪指令可以取得变量、数据类型或数据结构字节为单位的长度,lengthof可以取得变量中数据的项数。注意:MASM中变量定义只认一行,顾在定义多行数据时,千万不要用sizeof表示,最好是在程序中用lstrlen函数去计算。

6.addr 和 offset : 见http://hi.baidu.com/kisbuddy/blog/item/83586c072a13ac1c1d95839a.html

7.对于子程序,应注释说明参数和返回值、实现的功能以及注意事项。

8.窗口程序的运行过程(如下图所示)

 Win32汇编学习笔记(罗云彬)(二)_第1张图片

你可能感兴趣的:(Win32,汇编(罗云彬,第3版))