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.窗口程序的运行过程(如下图所示)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值