亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? the boot sector.html

?? a collection of mega hacking tools
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<html>

<head>

<title>The Boot Sector</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#000000" text="#ffffff" link="#ffffff" vlink="#ffffff">

<div align="center">

<table width="680" border="0" cellspacing="2" cellpadding="2" align="center">

  <tr>

    <td width="693">

      <pre>

                        :::::::::   ::::::::  :::::::::  ::::::::::

                        :+:    :+: :+:    :+: :+:    :+: :+:

                        +:+    +:+ +:+        +:+    +:+ +:+

                        +#++:++#+  +#++:++#++ +#++:++#:  :#::+::#

                        +#+    +#+        +#+ +#+    +#+ +#+

                        #+#    #+# #+#    #+# #+#    #+# #+#

                        #########   ########  ###    ### ###



              	             <a href="http://blacksun.box.sk" target="_blank">http://blacksun.box.sk</a>

              	             <a href="http://awc.rejects.net" target="_blank">http://awc.rejects.net</a>

                           _____________________________

    ______________________I       <b>   Topic:</b>             I_____________________

   \                      I                             I                    /

    \     HTML by:        I      <b>The Boot Sector</b>        I   Written by:     /

    >                     I                             I                  <

   /      <a href="mailto:black_mesa@hacktik.org">Martin L.</a>       I_____________________________I   <a href="mailto:fu@ckz.org">Ralph</a>           \

  /___________________________>                    <_________________________\</pre>

    </td>

  </tr>

</table>

</div>

<p>Version: 1.0 Date: 7/31/00</p>

<h3>TOC</h3>

<ol>

  <li><a href="#1">Introduction</a><ul>

  <li><a href="#1a">What you need</a></li></ul></li>

  <li><a href="2">Basic hard drive/BIOS shit</a></li>

  <li><a href="3">Making a Boot Sector</a></li>

  <li><a href="4">Making a program to write a boot sector</a></li>

  <li><a href="5">Other</a></li>

</ol>

<a name="1"><h3><u>1. Introduction</u></h3>

<blockquote>

<p>Well usually I give you a specific purpose at this point, but in this case I can't.

I was just in the mood to write something on boot sectors so I did it.  And maybe

(hopefully) someone out there can make use of this info.  This thing will most likely

became part of a larger tutorial, maybe something on assembly or on OS design.

After having consumed this text file you should know enough to design and create your

own boot sector, maybe for a virus, or an OS, or...?</a>

</blockquote>

<a name="1a"><h3><u>What you need</u></h3>

<blockquote>

<p>Before reading this you should have a basic knowledge of assembly.  If you don't, read

my other tutorial, it's called Sk00l m3 ASM!!#@$!@# and is available from awc.rejects.net

We will be using 2 different programs to code this shit: NASM and TASM.  NASM is freely

available from <a href="http://www.web-sites.co.uk/nasm/" target="_blank">http://www.web-sites.co.uk/nasm/</a>, but TASM you have to buy.  I don't like

piracy, but if you're just gonna use TASM this once, don't bother spending $150 on it.

There are plenty of sites that have a copy.</p>

<p>Why am I using 2 different programs?  Well I have always used NASM to make simple

programs as it's good at creating efficient memory copies.  I always use TASM to make

programs a bit more complex.  In the end however it comes down to the answer "why not??".

However, it shouldn't be hard at all to make the TASM program in NASM (or the other way

around), just change a few things here and there.  If enough people come bitch to me, I'll

rewrite all the code for NASM/TASM.</p></blockquote>

<a name="2"><h3><u>2. Basic hard drive/BIOS shit</u></h3>

<blockquote>

<p>As soon as you flip that switch, your CPU starts executing shit located at F000:FFF0.

This area contains the BIOS, Basic Input/Output System.  This code is written in assembly

and is stored in chips called EPROMs in your computer.  This code will perform something

known as POST, Power On Self Test.  This checks for installed devices and checks if they

all work.  In particular it checks for the video card and runs the video BIOS usually

located at C000h.  Next it checks for other ROMs to see if they have installed BIOSes.

Usually it then finds and executes the hard drive BIOS located at C8000h.  Then it starts

something like a "system inventory" where it checks for other installed devices and

tests them.  It does some more stuff that's all basicly useless for us right now,

until it finally transfers control over to the operating system.  That's the part that

we're interested in.  Back in the old days, only one OS was installed on a computer.

If you bought a certain computer, you could only run the OS that was made for it.

Nothing else.  Obviosly that wasn't such a good thing as you would have to buy a new

computer if you wanted a different OS, so BIOS makers came up with the Boot Sector.

In case you didn't know yet, a Sector is the smallest area your hard drive can access.

According to the ATA standards each sector is exactly 512 bytes.  However ATA standards

only apply to hard drives, things like floopies can use whatever they want.

Knowing this we can move on to the boot sector.</p>

</blockquote>

<h3><u>3. Making a Boot Sector</u></h3>

<blockquote>

<p>After the BIOS has successfully completed the POST it calls interrupt 19h.  You can

actually see this by dumping the memory located at F000:FFF0.  For example, on my box

I used debug with the following result:<br>

<i>-d f000:fff0</i><br>

F000:FFF0  CD 19 E0 00 F0 31 31 2F-32 36 2F 39 39 00 FC 81   .....11/26/99...</p>

<p>As you should know, CD = INT.  INT 19h attempts to read in the Boot Sector of the 1st

floppy disk.  If it fails it does the same thing on the 1st hard drive.  If that fails

it returns an error message.  A valid boot sector must have its last two bytes set to

AA55h.  Assuming a valid boot sector is found, the code is loaded into memory at location

0000:7C00 and interrupt 19h jumps there to start executing the code.  Since a boot sector

has to fit into one sector (512 bytes) it can't really do much, usually it does a search

for another file on another sector, then executes it.  Our boot sector won't do that.

For now it is enough that it displays a message and reboots when you press a key.  Since

DOS is not loaded yet, we have to use BIOS interupts to do all this.  First we display a

messages using interupt 10h.  Next we wait for the user to press a key using interrupt

16h, and finally we make a FAR jump to FFFF:0000 which we restart the computer.  So lets

code this bitch:</p>

<p>First we use the code</p>

<table>

<tr>

  <td>&nbsp;</td>

  <td>MOV AX,0x0003</td>

</tr>

<tr>

  <td>&nbsp;</td>

  <td>INT 0x10</td>

</tr>

<tr>

  <td colspan="2">to get into video mode.  The registers have to be set up like this:</td>

</tr>

<tr>

  <td>AH</td><td>Function number (00h, video)</td>

</tr>

<tr>

  <td>AL</td><td>Video Mode (03, 80x25x16)</td>

</tr>

<tr>

  <td colspan="2">Next we print the message using:</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV AX,0x1301</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV BX,0x0007</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV CX,0x23</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV BP,MSG</td>

</tr>

<tr>

  <td>&nbsp;</td><td>ADD BP,0x7C00</td>

</tr>

<tr>

  <td>&nbsp;</td><td>INT 0x10</td>

</tr>

<tr>

  <td>AH</td><td>Function number (13h: print string)</td>

</tr>

<tr>

  <td>AL</td><td>Write Mode (01h: string is characters only, attribute in BL, cursor moved)</td>

</tr>

<tr>

  <td>BH</td><td>Video Page number (00h)</td>

</tr>

<tr>

  <td>BL</td><td>Attributes of characters (07h)</td>

</tr>

<tr>

  <td>CX</td><td>Length of string, excluding any attributes (23h = 35 characters)</td>

</tr>

<tr>

  <td>BP</td>

  <td>ES:BP must point to the string, since a boot sector starts at 07C00, we add that

     to BP after we loaded it.  You could also set the entry point of the program to

     07C00, or change the data segment register to point to 07C00, but since it's just

     one instruction, this is fine for now.</td>

</tr>

<tr>

  <td colspan="2">Now we wait for the key to be pressed:</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV AH,0x00</td>

</tr>

<tr>

  <td>&nbsp;</td><td>INT 0x16</td>

</tr>

</table>

<p><b>Registers:</b><br>

AH - 00, Read keyboard buffer, wait till full if not already.<br>

The buffer will be empty since the computer didn't get time to put anything into it yet.

Finally we reboot the computer by simply jumping to 0000:FFFF:</p>

<blockquote>

<p>DB 0xEA<br>

     DW 0x0000<br>

     DW 0xFFFF</p>

</blockquote>

<p>This looks a bit wierd but it's actualy quite simple.  When declaring "variables" in

assembly, the assembler simply puts the value into a memory location.  Usually you

use interrupts or something to point to them in order to use and manipulate them, but we

could also put code there.  This is what we're doing here.  If you get a Hex to Mnemonix

chart you will notice that EA is a Far Jump.  So we put that into memory, followed by

the location to jump to.</p>

<p>Next we fill the the remaining memory with NULL:<br>

<blockquote>

     TIMES 510-($-$$) DB 0</p>

</blockquote>

<p>This could also be done in TASM with something like TIMES 510 DUP (0).

Finally we have to add those two bytes to the end so that the BIOS will know that this is

a valid boot sector. This is done with the simple statement:<br>

<blockquote>

SIGNATURE DW 0xAA55</p>

</blockquote>

<p>Here is the full code to everything we just discussed:</p>

<table>

<tr>

  <td colspan="2"><b>START:</b></td>

</tr>

<tr>

  <td width="25">&nbsp;</td>

  <td>MOV AX,0x0003</td>

</tr>

<tr>

  <td>&nbsp;</td><td>INT 0x10</td>

</tr>

<tr>

  <td colspan="2"><b>PRINT_STRING:</b></td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV AX,0x1301</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV BX,0x0007</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV CX,0x23</td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV BP,MSG</td>

</tr>

<tr>

  <td>&nbsp;</td><td>ADD BP,0x7C00</td>

</tr>

<tr>

  <td>&nbsp;</td><td>INT 0x10</td>

</tr>

<tr>

  <td colspan="2"><b>WAIT_FOR_KEY_PRESS:</b></td>

</tr>

<tr>

  <td>&nbsp;</td><td>MOV AH,0x00</td>

</tr>

<tr>

  <td>&nbsp;</td><td>INT 0x16</td>

</tr>

<tr>

  <td colspan="2"><b>REBOOT:</b></td>

</tr>

<tr>

  <td>&nbsp;</td><td>DB 0xEA</td>

</tr>

<tr>

  <td>&nbsp;</td><td>DW 0x0000</td>

</tr>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区在线| 亚洲精品一区二区在线观看| 国产成人免费视频| 国产精品白丝jk黑袜喷水| 毛片不卡一区二区| 奇米精品一区二区三区四区| 另类综合日韩欧美亚洲| 国模无码大尺度一区二区三区| 秋霞成人午夜伦在线观看| 日本大胆欧美人术艺术动态| 日韩国产精品大片| 国产乱子伦一区二区三区国色天香 | 91精品国产综合久久香蕉麻豆| 国产毛片精品视频| 国产成人午夜99999| av亚洲精华国产精华| 91福利在线播放| 91精品国产色综合久久不卡蜜臀| 日韩一二三四区| 国产片一区二区三区| 最新日韩av在线| 亚洲va欧美va国产va天堂影院| 蜜桃视频一区二区| 处破女av一区二区| 欧美视频一区二区三区四区| 精品国精品自拍自在线| 中文字幕视频一区二区三区久| 午夜精品福利视频网站| 国产精品白丝av| 色综合色狠狠天天综合色| 91麻豆精品国产91久久久资源速度| 精品美女一区二区三区| 亚洲乱码中文字幕| 国产一区二区三区久久久| 在线影院国内精品| 国产亚洲精品久| 午夜精品福利在线| yourporn久久国产精品| 欧美一区二区三区视频免费播放 | 国产麻豆视频精品| 日本精品一区二区三区高清 | 91成人免费网站| 亚洲成人一区在线| 99在线精品免费| 亚洲日本成人在线观看| 欧美伊人精品成人久久综合97 | 91精品国产免费久久综合| 欧美日韩国产高清一区二区| 久久久久综合网| 亚洲成a人片在线不卡一二三区| 99re6这里只有精品视频在线观看| 亚洲成人综合视频| 日韩av网站在线观看| 中文字幕一区二区在线观看| 欧美日韩一区国产| 婷婷丁香久久五月婷婷| 日韩欧美亚洲国产另类| 麻豆久久一区二区| 久久久91精品国产一区二区三区| 亚洲一区二区三区在线| 欧美日韩久久一区二区| 日产欧产美韩系列久久99| 国产欧美日韩在线视频| 一本大道av伊人久久综合| 亚洲国产精品一区二区久久恐怖片 | 91精彩视频在线| 首页国产欧美日韩丝袜| 26uuu精品一区二区三区四区在线| 成人美女视频在线看| 亚洲成人免费看| 国产精品女同一区二区三区| 亚洲人成亚洲人成在线观看图片| 国产成人精品免费在线| 日本一区二区久久| 亚洲欧美在线视频观看| 国产亚洲制服色| 欧美精品久久久久久久多人混战| 欧美视频在线观看一区| 日本不卡视频在线| 日韩有码一区二区三区| 麻豆精品精品国产自在97香蕉| 欧美主播一区二区三区美女| 久久久久久久久久久99999| 在线电影一区二区三区| 一区二区三区四区精品在线视频| 99久久夜色精品国产网站| 日韩久久一区二区| 欧美亚洲国产一区二区三区va | 亚洲成a人片在线不卡一二三区| 欧美午夜电影在线播放| 偷拍日韩校园综合在线| 欧美一区二区三区在线观看视频| 日韩电影免费一区| 久久亚洲影视婷婷| 成人性生交大片免费看中文 | 午夜视频一区在线观看| 欧美剧在线免费观看网站| 日本视频在线一区| 久久久久久久久伊人| 91在线视频网址| 午夜精品久久久久| 久久久久久一二三区| 国产成人精品一区二| 亚洲一区二区三区美女| 日韩欧美国产精品一区| 成人免费视频视频在线观看免费| 亚洲老妇xxxxxx| 亚洲精品在线观看网站| 成人免费视频免费观看| 日韩精品欧美成人高清一区二区| 久久精品在线免费观看| 在线看国产一区| 国产乱码字幕精品高清av | 亚洲午夜久久久久久久久电影院| 欧美一级日韩免费不卡| 成人久久久精品乱码一区二区三区| 亚洲国产精品一区二区www在线| 精品国产乱码久久久久久蜜臀| 97久久精品人人做人人爽| 青草av.久久免费一区| 亚洲人被黑人高潮完整版| 日韩精品一区二区三区中文不卡| 色综合中文字幕国产 | 亚洲丝袜另类动漫二区| 日韩精品中文字幕在线一区| 91看片淫黄大片一级| 久久精品二区亚洲w码| 亚洲自拍另类综合| 国产精品午夜在线| 久久免费的精品国产v∧| 91精品综合久久久久久| 日本韩国精品在线| 99精品黄色片免费大全| 国产精品888| 麻豆视频观看网址久久| 日韩专区在线视频| 亚洲最大成人网4388xx| 国产精品丝袜在线| 久久综合视频网| 欧美一区二区三区影视| 欧美疯狂性受xxxxx喷水图片| 色天使色偷偷av一区二区| 成人免费观看av| 国产盗摄一区二区| 国产制服丝袜一区| 国产麻豆91精品| 国产一区二区不卡| 国产伦理精品不卡| 国产成人免费网站| 成人一区二区视频| 成人免费视频app| 99久久精品免费观看| 99精品视频一区二区| 99久久国产综合精品女不卡| 成人不卡免费av| av影院午夜一区| 99久久国产免费看| 色综合婷婷久久| 久久久精品国产免费观看同学| 日韩欧美电影一二三| 91精品国产91久久久久久最新毛片 | 精品一区二区精品| 国产一区二区调教| 国产传媒欧美日韩成人| 成人性生交大片免费看中文| 97精品国产97久久久久久久久久久久| 成人手机电影网| 色综合久久天天| 欧美亚洲免费在线一区| 日韩一区二区视频在线观看| 日韩欧美一级二级三级久久久| 久久久久久综合| 亚洲少妇最新在线视频| 亚洲一级片在线观看| 奇米一区二区三区| 国产精品91一区二区| 欧美亚洲尤物久久| 日韩欧美在线1卡| 国产精品美女久久久久av爽李琼| 亚洲人成电影网站色mp4| 日韩电影免费在线观看网站| 国产一区二区三区久久悠悠色av| bt7086福利一区国产| 欧美日韩久久久一区| 国产午夜精品在线观看| 伊人色综合久久天天| 美女视频一区二区三区| 成人高清免费观看| 69堂成人精品免费视频| 久久精品人人做人人爽人人| 亚洲乱码国产乱码精品精可以看| 日本美女视频一区二区| 成人午夜电影网站| 91麻豆精品国产91久久久久久 | 欧美激情一区三区| 午夜av一区二区| 成人精品在线视频观看| 56国语精品自产拍在线观看| 亚洲国产成人一区二区三区| 天涯成人国产亚洲精品一区av|