Win32 汇编 小知识学习笔记(一)

1. win32 API调用中把参数放入堆栈,顺序是最后一个参数最先进栈。 

2. invoke 不是80386的指令,而是一个MASM编译器的伪指令,解决调用API参数过多的问题

格式: invoke  函数名[,参数1][,参数2]

3. dword(double world)  其实就是一个32 位的整数

4.在win32 环境中,和字符相关的API共有两类,分别对应两个字符集:一类是处理ANSI字符集,函数名字的尾部带‘A’字符。另外一类是处理Unicode 字符集,函数子名的尾部带一个‘W’字符。

5.汇编标号的定义:

标号名:   目的指令     ;方法1(只有一个冒号,标号的作用域是当前的子程序)
或
标号名::  目的指令     ;方法2(有两个冒泡,标号的作用域是整个程序)

6 @F 表示本指令后的第一个@@标号 , @B表示本指令前的第一个@@标号。@@是用来替换  只出现一两次的标号

7.win32 汇编以0字符结尾

8.  可读可写的已定义的变量用.data  

     可读可写的未定义的变量用.data? 

     不需要修改的常量用.const

9 .反汇编(Disassembly):把目标代码转为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的意思,常用于软件破解(例如找到它是如何注册的,从而解出它的注册码或者编写注册机)、外挂技术、病毒分析、逆向工程、软件汉化等领域。

10.      获取全局变量的地址:

mov  寄存器,offset 变量名

    获取局部变量的地址:

lea eax,[ebp-4]

 

addr  局部变量名和全局变量名

11.  .386 代表汇编语言使用该指令集

12 .  .model 用来定义程序的工作模式

13.   .option  casemap:none 判断是是否对大小写敏感。必须是对大小写敏感的。

14.  .break  .if 退出条件    可以用于在循环语句中退出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值