美文网首页逆向我爱编程
逆向 - 汇编 - 第三天

逆向 - 汇编 - 第三天

作者: reboot_q | 来源:发表于2018-04-13 21:12 被阅读11次

中断

  • 中断是由于软件的或者硬件的信号, 使 CPU 暂停当前任务, 转而去执行另一段子程序.
  • 分类:
    • 硬中断 (外中断): 由外部设备(网卡, 硬盘)引发的
    • 软中断(内中断): 由执行中断指令引发的.
  • 可以通过指令 int n 产生中断
    • n 是中断码, 内存中有一张中断向量表, 用来存放中断码对应中断处理程序的入口地址,
    • CPU 在接收到中断信号后, 暂停当前正在执行的程序, 跳转到中断码对应的中断向量表地址处, 去执行中断处程序.
  • 常见中断
    • int 10h 用于执行 BIOS 中断
    • int 3 断点中断, 用于调试
    • int 21h 返回 AH 寄存器存储功能信号

DOS 系统功能调用

  • 由DOS 提供的一组实现特殊功能的子程序供程序员调用.
  • 涉及屏幕显示, 文件管理, IO 管理等
  • 每个子程序都有一个功能号, 所有的功能调用格式都是一致的.
    • 系统功能号送到寄存器 AH 中;
    • 入口参数送到指定的寄存器中;
    • 用 int 21H 指令执行功能调用 ;
    • 根据出口参数分析功能调用执行情况;

  • LIFO (后进先出)
  • SS(stack segment)栈段寄存器, SS:SP 指向栈顶元素
  • push(入栈), pop (出栈)

Loop 指令

  • loop 指令和 cx 寄存器配合使用, 用于循环操作类似 for while
  • 使用格式

mov cx ,循环次数
循环执行程序代码
loop 标号


  • loop 执行流程
      1. 现将 cx 寄存器的值 - 1, cx = cx-1;
      1. 判断 cx 的值,
      • 如果 cx 值不为0, 执行标号的代码, 重复1
      • 如果为0, 执行 loop 后面的代码

8086 伪指令

  • db(define byte)自定义字节
  • dw(define word)自定义字

相关文章

  • iOS最新逆向进阶文章总汇!

    iOS 逆向 汇编相关iOS逆向:初识汇编[https://www.jianshu.com/p/777373e85...

  • ARM汇编基础(iOS逆向)

    ARM汇编基础 在逆向一个功能的时候,往往需要分析大量的汇编代码,在iOS逆向中,ARM汇编是必须掌握的语言,本文...

  • ARM汇编基础(iOS逆向)

    ARM汇编基础 在逆向一个功能的时候,往往需要分析大量的汇编代码,在iOS逆向中,ARM汇编是必须掌握的语言,本文...

  • 逆向 - 汇编 - 第三天

    中断 中断是由于软件的或者硬件的信号, 使 CPU 暂停当前任务, 转而去执行另一段子程序. 分类:硬中断 (外中...

  • IOS 逆向开发(二十一) 汇编-基础

    @[TOC](IOS 逆向开发(二十一) 汇编-基础) 1. 汇编简介 为啥要需要学习汇编? 大学都学习过汇编语言...

  • iOS汇编

    iOS逆向之旅(基础篇) — 汇编(一)— 汇编基础[https://www.jianshu.com/p/19a2...

  • 逆向 越狱开发知识

    逆向、反汇编、越狱开发 、dylib 1.iOS逆向工程之Theos http://www.cnblogs.com...

  • 没时间看的书

    C++反汇编与逆向分析技术揭秘 介绍反汇编软件,内存的相关问题,例子很多有时间搞逆向一定要看这本书

  • 初识汇编

    逆向课程随堂笔记 001--初识汇编 我们在学习逆向开发之前,我们要了解一个基本的逆向原理.首先我们是逆向iOS系...

  • iOS安全攻防笔记(一)

    # 001--初识汇编 我们在学习逆向开发之前,我们要了解一个基本的逆向原理.首先我们是逆向iOS系统上面的APP...

网友评论

    本文标题:逆向 - 汇编 - 第三天

    本文链接:https://www.haomeiwen.com/subject/dhxckftx.html