div除法溢出之后, 会调用中断0, 显示Divide overflow,

我们修改中断向量表里对应的0号中断的处理地址, 将我们的代码执行起来, 达到hook的目的

assume cs:codecode segmentstart:;写入新的int 0地址mov ax,0mov es,axmov word ptr es:[0*4],0200hmov word ptr es:[0*4+2],0;写入新的int 0中断过程的ShellCodemov ax,csmov ds,axmov si,offset display_startmov ax,0mov es,axmov di,0200hmov cx,offset display_end - offset display_startcld rep movsb        jmp display_end  ;跳转到除法溢出代码display_start:jmp $+0ch       ;跳转到mov ax,0b800hdb 'hook int 0'mov ax,0b800hmov ds,axmov ax,0mov es,axmov si,0202h    ;字符串的位置mov bx,160*3  ;在屏幕上第三行显示mov cx,0Ah    ;字符串10位        s:mov al,es:[si]    inc si  mov ah, 0ch    ;红底黑字  mov ds:[bx],ax  add bx,2  loop smov ax,4c00h      ;退出程序int 21hdisplay_end:nop    ;div除法溢出mov ax,1000hmov bh,01hdiv bh;退出程序mov ax,4c00h int 21hcode endsend startend

显示hook int 0, 哈哈

16位汇编 Hook int 0实例相关推荐

  1. 小谈16位汇编NEG求补指令

    16位汇编,看到别人写的3行代码对一个32位数求补,举例子论证 NEG是求补指令,把他之后的操作数求补(先求反再加1) 本指令影响标志位CF.OF.SF.PF.ZF及AF. 有一个32位的数 高16位 ...

  2. 研究16位汇编NEG求补指令

    转自: http://bbs.pediy.com/showthread.php?t=81209 [文章标题]: 研究16位汇编NEG求补指令  [文章作者]:  hzmslx 我是个菜鸟··学16位汇 ...

  3. 手把手教你在64位Win7下部署16位汇编学习环境

    实现方式是VirtualBox虚拟机+精简的32位xp系统.指导小白用,高手就直接跳过吧. 一.背景 初学者学习汇编语言通常是从16位汇编开始,但是现在的64位Win7系统明确表示不支持16位的程序. ...

  4. c语言将两个16位变为一个32位,16位汇编第六讲汇编指令详解第第三讲(示例代码)...

    16位汇编第六讲汇编指令详解第第三讲 1.十进制调整指令 1. 十进制数调整指令对二进制运算的结果进行十进制调整,以得到十进制的运算结果 2.分成压缩BCD码和非压缩BCD码调整 简而言之: 以前的时 ...

  5. 16位汇编相关寄存器

    文章目录 1 寄存器的组成部分 1.1 8086寄存器组成 1.2 8086处理器是小端模式 2 X86 16位汇编所涉及的寄存器 3 寄存器的用法 3.1 DS和ES 3.2 CS和IP 1 寄存器 ...

  6. 【汇编语言】16位汇编总结

    16位汇编语言 学习操作系统前对汇编语言进行快速学习,参考汇编语言进行总结. Before Learning 进制: 字节和字: 字节,即Byte,是由八个位组成的一个单元,也就是8个bit组成1个B ...

  7. 16位汇编第第四讲常用的7种寻址方式

    常用的7中寻址方式 昨天稍微讲了一下,立即数寻址,今天继续讲解寻址方式. (注意,这个属于简陋版的,写了4个小时的博客,也就是第一版,保存了一下,但是博客出问题了,重新打开后发现保存的内容没了,让我很 ...

  8. 16位汇编 int 10h和int 21h 显示字符串实例

    int 10h 的9号功能是显示字符串 assume cs:codecode segmentstart:mov ah,2 ;置光标mov bh,0 ;第0页mov dh,1 ;dh中放行号mov dl ...

  9. 16位汇编 在代码段中使用栈

    在代码段中使用栈, 置换 0123  0456  0789  0abc  0def  0fed    0cba  0987 0987  0cba  0fed   0def   0abc  0789   ...

最新文章

  1. FPGA的LVDS电平以及LVDS25电平能在HR Bank上使用吗?
  2. 2.1.2监测当前打印机状态
  3. SQL Server 语句查询手册
  4. 这五张PPT告诉你,如何打造无人驾驶“最强大脑”
  5. S3C6410移植u-boot-2010.3(2)基本的启动信息修改
  6. 黄聪:Linq初级班 Linq To XML体验(编程篇)
  7. python制作简单网页_怎么用python简单的制作一个网页
  8. 3d游戏项目实训一周总结
  9. Springboot+Vue实现仿课堂派
  10. 索尼公布电池召回计划 不局限于笔记本
  11. 通过关键字查询地理坐标(天地图)
  12. 摩托车高级驾驶员辅助系统(ADAS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  13. MySQL数据库中.frm和.myi和.myd文件是什么文件?
  14. Mac 更新系统后无法使用git
  15. 什么是SQL注入攻击?
  16. 树莓派 和 电脑共用显示屏 无屏幕玩转树莓派
  17. 位置与地图(二)地图的使用以及标注地图
  18. 【U8+】用友U8+删除已经使用过的操作员
  19. 蓝桥杯 ADV168 算法提高 快乐司机(贪心 快排)(java)
  20. Qt 设置Widget背景图片并实现透明度的三种方式

热门文章

  1. OpenGL实现3D立体显示
  2. mysql中union与union all的区别
  3. myEclipse开发内存溢出解决办法myEclipse调整jvm内存大小java.lang.OutOfMemoryError: PermGen space及其解决方法...
  4. 【10】48. Rotate Image
  5. 获取mac地址方法之一 GetAdaptersInfo()
  6. plupload+artdialog实现多平台文件上传
  7. tablefunc 行转列
  8. 大四中软实习笔记201303011文件
  9. [课程复习] 数据结构之经典题目回顾 (一)选择题、填空题1
  10. SwiftUI之深入解析高级动画的几何效果GeometryEffect