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

朴灿烈づ我的快乐病毒、 2022-03-25 05:44 378阅读 0赞
  1. win32 API调用中把参数放入堆栈,顺序是最后一个参数最先进栈。

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

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

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

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

5.汇编标号的定义:

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

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

7.win32 汇编以0字符结尾

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

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

    不需要修改的常量用.const

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

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

    mov 寄存器,offset 变量名

    获取局部变量的地址:

    lea eax,[ebp-4]

  1. addr 局部变量名和全局变量名
  1. .386 代表汇编语言使用该指令集

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,378人围观)

还没有评论,来说两句吧...

相关阅读

    相关 汇编学习笔记

    这只是我学习汇编时候为了防止自己忘记的笔记系列,所以可能没什么条理性,基本上算是0基础开始吧,如果你也要学习,希望对你有帮助(目前会极其没有条理,后来会整理发出来)。 之前