首先需要您在网上下载NASM编译器,可以将汇编编译为二进制文件 1.写一段汇编代码在屏幕上打印一段字符,可以运行的!并进行nasm为二进制文件,如下"test.asm" 该段汇编主要是向显卡循环显示一个一个字符,最后取值为0就跳转fin执行HLT让CPU睡眠,死循环! 要显示一个字符,int 0x10则满足条件 AH=0X0E:AL=需要显示的字符code;BH=0;BL=颜色code org 0x7C00 ;主引导记录的内存地址 启动区内存装载地址必须在0x7c00-0x7dff j…
在第一节<(1)汇编写入引导区,虚拟机启动步骤>中讲解到一个简单屏幕显示一川字符串,第二节讲到BIOS启动过程! 第一节中基本原理就是将那个汇编代码用nasm汇编器进行汇编成二进制,然后把这二进制文件写入模拟的软盘system.img[磁盘]的第0面0磁道第1扇区中!然后虚拟机加载此映射文件. BIOS读取硬盘0盘面0磁道1扇区[0磁头0柱面1扇区](C0-H0-S1)的MBR(主引导记录)到内存中指定区域(具体是BIOS提供的int 19中断例程加载MBR到RAM的0X00007C00H开始…
1-汇编写入引导区,虚拟机启动步骤 (了解即可) 2-开机BIOS初始化与MBR操作系统引导详解 (了解即可) 3-MBR引导区转移加载简单程序(突破512限制)(了解即可) 4-loader硬盘加载和C++写入文件 (重点) 5-进入保护模式 6-内存分页 7-加载内核 8-中断 9-内存管理 10-线程 11-进程 12-文件系统管理 个人用的记录 CPU ---汇编器 c/c++语言编译器 ld连接器 连接成可执行文件 操作系统 在OS上制作虚拟机可以运行自己的OS…
主要是实现<简单打造OS>第四小节说到的一个图形界面的实验项目 1.mbr boot.inc ;------------- loader和kernel ---------- LOADER_BASE_ADDR equ 0x900 LOADER_STACK_TOP equ LOADER_BASE_ADDR LOADER_START_SECTOR equ 0x2 KERNEL_BIN_BASE_ADDR equ 0x70000 KERNEL_START_SECTOR equ 0x9 KERNEL_E…
一.简要说明 我们在第五讲[(5)打造简单OS-进入保护模式]中的mbr.S 汇编文件有段这样的代码 mov eax, 0x2 ; 起始扇区lba地址,从间隔第二个扇区开始 mov bx, 0x900 ; 写入的地址 mov cx, 4 ; 待读入的扇区数,读取4个扇区内容 call rd_disk_m_16 ; 以下读取程序的起始部分(一个扇区) loader.S说明:[ 我们把loader.S编译后的二进制文件存储在硬盘的第二个扇区开始位置] 上述一段汇编代码说明了: 将loader编译后的…
前言 引导型病毒指寄生在磁盘引导区或主引导区的计算机病毒.这种病毒利用系统引导时,不对主引导区的内容正确与否进行判别的缺点,在引导系统的过程中入侵系统,驻留内存,监视系统运行,伺机传染和破坏.按照引导型病毒在硬盘上的寄生位置又可细分为主引导记录病毒和分区引导记录病毒.我们未来的几次课,会专门从各个角度来分析这种病毒的特点,阐述病毒原理,提出应对方法.而本次课程的内容主要来讨论一下引导区的解析. 通过WinHex来手动解析引导区 WinHex是一个强大的十六进制编辑工具,也是一个强大的磁盘编辑工具…
前言 这次分享的文章是我<Python爬虫开发与项目实战>基础篇 第七章的内容,关于如何手工打造简单分布式爬虫 (如果大家对这本书感兴趣的话,可以看一下 试读样章),下面是文章的具体内容. 本章讲的依旧是实战项目,实战内容是打造分布式爬虫,这对初学者来说,是一个不小的挑战,也是一次有意义的尝试.这次打造的分布式爬虫采用比较简单的主从模式,完全手工打造,不使用成熟框架,基本上涵盖了前六章的主要知识点,其中涉及分布式的知识点是分布式进程和进程间通信的内容,算是对Python爬虫基础篇的总结. 现在…
前言 通过之前的学习,相信大家已经对磁盘的引导区有了充分的认识.但是我们之前的学习都是利用现成的工具来对引导区进行解析的,而对于一名反病毒工程师而言,不单单需要有扎实的逆向分析功底,同时也需要有很强的编程能力来解决实际问题.对于我们本次的课程来说,就需要大家亲自动手,利用程序来实现引导区的解析.这样做的目的,一方面是为了提高大家的编程能力,而另一方面则有助于我们更好地理解引导区的内容. 通过程序解析MBR 对于学习过PE文件格式解析的朋友来说,解析MBR可能不会有太大的问题,毕竟二者的原理还是非…
<自己动手写操作系统> org 07c00h mov ax,cs mov ds,ax mov es,ax call DispStr jmp $ DispStr: mov ax,BootMessage mov bp,ax mov ax,01301h mov bx,000ch int 10h ret BootMessage: db "Hello,OS world!" times -($-$$) db dw 0xaa55 在自己电脑安装nasm. 官网下载地址:http://ww…
原文:使用Vs2005打造简单分页浏览器(1)原创 使用Vs2005打造简单分页浏览器(1)原创1引言2功能3实现过程以及关键点4总结5不足之处6其他7 代码下载 1    引言很早就有搞一个浏览器的想法了,在vs2003上就试图做过,苦于经常会有这种情况出现:当自治的浏览器遇到弹出窗口时无法捕获新的弹出窗口,于是乎新的弹出窗口仍旧用ie(或其他系统默认浏览器)打开,在研究vs2005的WebBrowser控件时发现有NewWindow事件,于是乎兴奋不已,决定用这个分页浏览器体验一下vs200…