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

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

?? the boot sector.html

?? 1000 HOWTOs for various needs [WINDOWS]
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
<tr>

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

</tr>

<tr>

  <td colspan="2"><b>MSG  DB 'pR3sS 4nY k3y 2 k0n71nu3',13,10,'btw, ph33r',0</b></td>

</tr>

<tr>

  <td>&nbsp;</td><td>TIMES 510-($-$$) DB 0</td>

</tr>

<tr>

  <td colspan="2"><b>SIGNATURE DW 0xAA55</b></td>

</tr>

</table>

<p>Assemble with "nasm filename.asm".  This will get you a file called "filename", no

extension.  It is a raw binary image of the code.  Get out a floppy and type

"debug filename".  Enter this at the prompt: w 100 0 0 1.   You should know what this

does from my assembly tutorial, if not it simply means write whatever is in memory to

location 100 on disk 0 (A:), starting from sector 0 to sector 1.  Now try booting from

this disk.  You should get the message:</p>

<blockquote>

<p>pR3sS 4nY k3y 2 k0n71nu3<br>

btw, ph33r</p>

</blockquote>

<p>And when you press a key, the keyboard buffer gets filled so interupt 16h is finished and

we move on to the restart procedure.  Obviously this was just a simply example, instead

of printing a string, waiting for a key press and restarting, you could've put anything

in there, just as long as you don't use DOS interupts.  One nice thing might be to get

into Protected Mode, or you could even do some graphics shit which might run faster than

in DOS or Windows since nothing is in memory except what you want to be there.</p>

</blockquote>

<h3><u>4. Making a program to write a boot sector</u></h3>

<blockquote>

<p>If you tryed to access the disk with your boot sector on it, you'll notice that you

can't.  At least not using DOS.  That's because DOS uses a few bytes of memory for data

that it needs to know in order to determine what kind of disk it is, our program however

uses those bytes for the code.  Now, you could look up those memory areas and declare

them at the start of your program, but instead we will just create a program that will

write any kind of file directly to the boot sector of a disk, regardless of what's on

that disk.  This sounds harder than it really is.  In fact, the resulting program is

a mere 73 bytes.  First of all we have to open the file we want to write to the boot

sector using the code:</p>

<p>READFILE:<br>

<blockquote>

    MOV AX,3D00h<br>

    MOV DX,OFFSET FILENAME<br>

    INT 21h</p>

</blockquote>

<p>AH = 3Dh, Open file<br>

AL = 00, open file as read only<br>

DX = Points to file name.  This has to be a ASCIIZ string, meaning it's terminated with

     a NULL character (0).</p>

<p>This will return the file handle in AX.  If an error has occured, the carry flag will be

set and the error code stored in AH.  In that case, branch:<br>

<blockquote>

    JC ERROR<br>

</blockquote>

Otherwise proceed to reading in the file:<br>

<blockquote>

    MOV BX,AX<br>

    MOV AH,3Fh<br>

    MOV CX,0200h<br>

    MOV DX,OFFSET SHIT<br>

    INT 21h</p>

</blockquote>

<p>First we move the file handle from AX into BX, then set up the other registers as

follows:<br>

AH = 3Fh, Read file<br>

CX = 200h, Amount of data to read.  Since a boot sector will always be 512 bytes long

     we read in 200h bytes (512d).<br>

DX = Points to memory area to hold contents of file<br>

Again, the carry flag will be set if an error occured, so branch:<br>

<blockquote>

    JC ERROR</p>

</blockquote>

<p>Now we're getting to the actual writing part.  First we reset the floppy disk controller

with the code:<br>

WRITE_SECTOR:<br>

<blockquote>

    MOV AH,0h<br>

    MOV DL,0<br>

    INT 13h<br>

</blockquote>

Next we write the data:<br>

<blockquote>

    MOV AX,0301h<br>

    MOV CX,1<br>

    MOV DX,0<br>

    MOV BX,OFFSET SHIT<br>

    INT 13h</p>

</blockquote>

<p>This is one of the more complicated interupts, and you have to know some shit about how

hard drives are made up.<br>

AH = 03h, Write Sector<br>

AL = 1, Number of sectors to write on same track and head<br>

CH = 0, Track number to write<br>

CL = 1, Sector number to start writing from<br>

DH = 0, Head number to write<br>

DL = 0, Drive number to write (0 = A, 1 = B, etc)<br>

BX = Buffer to write sector(s) from</p>

<p>Again the carry flag is set if an error occurs, but I like to keep things interesting and

used a different method to check for an error.  The error code is stored in AH, if AH

is 0 there was no error.  So to check for an error I can simply XOR AH, AH and Jump if

Not Zero.<br>

<blockquote>

    XOR AH,AH<br>

    JNZ ERROR<br>

</blockquote>

Otherwise, we're done and can terminate the program:<br>

<blockquote>

    INT 20h</p>

</blockquote>

<p>So the finished program looks like this:<br>

<table>

<tr>

  <td width="250">MAIN SEGMENT</td>

  <td width="300">;the usual setup I use for .com files</td>

</tr>

</table>

<blockquote>

     ASSUME CS:MAIN,DS:MAIN,ES:MAIN,SS:MAIN<br>

     ORG 100h</p>

</blockquote>

<p>START:<br>

<table>

<tr>

  <td width="250">READFILE:</td>

  <td width="300">;reads file as explained above</td>

</tr>

</table>

<blockquote>

    MOV AX,3D00h<br>

    MOV DX,OFFSET FILENAME<br>

    INT 21h<br><br>



    JC ERROR<br><br>



    MOV BX,AX<br>

    MOV AH,3Fh<br>

    MOV CX,0200h<br>

    MOV DX,OFFSET SHIT<br>

    INT 21h<br><br>



    JC ERROR</p>

</blockquote>

<p>

<table>

<tr>

  <td width="250">WRITE_SECTOR:</td>

  <td width="300">;writes sectors as explained above</td>

</tr>

</table>

<blockquote>

    MOV AH,0h<br>

    MOV DL,0<br>

    INT 13h<br><br>



    MOV AH,03h<br>

    MOV AL,1<br>

    MOV CX,1<br>

    MOV DX,0<br>

    MOV BX,OFFSET SHIT<br>

    INT 13h<br><br>



    XOR AH,AH<br>

    JNZ ERROR<br><br>



    INT 20h</p>

</blockquote>

<p>ERROR:<br>

<table>

<tr>

  <td width="250">MOV AH,09h</td>

  <td width="300">;displays error message</td>

</tr>

</table>

<blockquote>

    MOV DX, OFFSET SHIT1<br>

    INT 21h<br>

    INT 20h</p>

</blockquote>

<table>

<tr>

  <td>SHIT</td>

  <td>DB ?</td>

  <td>;uninitialized array to hold contents of file</td>

</tr>

<tr>

  <td>SHIT1</td>

  <td>DB 'Error$'</td>

  <td>;Bad ass error message</td>

</tr>

<tr>

  <td>FILENAME</td>

  <td>DB 'ph33r',0</td>

  <td>;filename to write</td>

</tr>

<tr>

  <td colspan="2">MAIN ENDS</td>

</tr>

<tr>

  <td colspan="2">END START</td>

</tr>

</table>



<p>Now this thing is very very basic.  There are many areas you could improve on.  For

example:</p>

<ol>

<li>Make the filename a user inputed value.  To do so, make FILENAME an array of 12

    unitialized bytes (DOS filenames can't be longer than that).  Than load that array

    into SI and call interupt 16h, function 0h.  Loop it until enter is pressed, store

    the value in SI, incrementing SI each time.</li>

    <li>Add more error messages, maybe even something that checks the error code and response

    with an appropriate message</li>

    <li>This program wont wait for the motor to start up, so make a loop that loops about 3

    times, checking if the disk drive is ready.  If all tries fail, return an error

    saying that the disk is not in the drive or something.  The error code is returned in

    AH, so you can make a simple check and respond with the corrosponding error message.</li>

    <li>Display a (C) Microsoft message</li>

</ol>





</blockquote>

<h3><u>5. Other</u></h3>

<blockquote>

<p>If you fuck up your computer as a result of this tutorial, don't blame me.  All code

has been tested and works great, but I cannot be held responsible for anything that

happens to you as a result of using this information.</p>

<p>You may freely distribute this text as long as you don't change anything.  If there's

something you think should be changed, contact me first.</p>

<p>Please always get the newest version of this an other tutorials at <a href="http://awc.rejects.net" target="_blank">http://awc.rejects.net</a>

as they usually contained updated information, and addons.</p>

<p>Send feedback to <a href="mailto:fu@ckz.org">fu@ckz.org</a></p>

<p>Greetings to:<br>

cozgedal, skin_dot, Linxor, jyc, rpc, moJoe, Lindex, aphex twin</p>

<pre>





                       ____w4r3z w4g0n with fr3sh 0-day k0d3z

                      /

   /-------------------\

   |     w4r3z w4g0n    |----\ &lt;----driver of w4r3z w4g0n wearing special AWC k4m0phl4g3

   |     fr3sh 0-day    | [ ] |     kl04k1ng d3v1c3

   \____________________|_____|

     \__/     /|\         \__/ &lt;---- tires of w4r3z w4g0n in special 0kt4g0n format

             ^ O ^

                  \_____Bill Gates being dragged on the street by w4r3z w4g0n because he

                        tryed to steal 0-day k0d3z and must be punished</pre>

<p>EOF</p>

</blockquote>

</body>

</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频.com| 日本丰满少妇一区二区三区| 日本aⅴ免费视频一区二区三区| 欧美日韩在线三区| 国产精品一区二区三区网站| 亚洲天堂成人在线观看| 美女免费视频一区| 欧美精品18+| 亚洲午夜电影在线| 色综合久久88色综合天天6| 中文欧美字幕免费| 国产电影精品久久禁18| 精品美女一区二区| 久久er99热精品一区二区| 日韩欧美久久一区| 久久精品二区亚洲w码| 日韩一区二区三区视频在线观看| 久久国产精品无码网站| 中文字幕在线不卡视频| 欧美精品欧美精品系列| 国产精品一品二品| 亚洲一二三区视频在线观看| 2014亚洲片线观看视频免费| 91黄色在线观看| 国内精品写真在线观看| 亚洲毛片av在线| 精品久久久久久久人人人人传媒 | 久久天堂av综合合色蜜桃网| 亚洲精品久久久蜜桃| 精品国产乱码久久久久久牛牛| 欧美另类久久久品| 精久久久久久久久久久| 97精品视频在线观看自产线路二| 国产成人8x视频一区二区| 成人午夜大片免费观看| k8久久久一区二区三区 | 久热成人在线视频| 午夜精品一区二区三区电影天堂 | 91精品午夜视频| 91成人在线精品| 一本到不卡精品视频在线观看| 美洲天堂一区二卡三卡四卡视频| 综合久久久久久久| 国产精品久久久久久久久免费相片| 日韩色在线观看| 亚洲精品一线二线三线| 精品国产在天天线2019| 亚洲婷婷在线视频| 久久久久国产精品麻豆 | 欧美日本在线观看| 欧美高清一级片在线| 欧美一区二区三区男人的天堂| 欧美日韩久久久久久| 91精品国产色综合久久不卡蜜臀| 91福利在线免费观看| 日本韩国精品在线| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品乱人伦| 亚洲美女淫视频| 首页国产欧美久久| 久久99精品久久久久久国产越南| 午夜精品久久久久久久99水蜜桃| 亚洲永久精品国产| 国产呦萝稀缺另类资源| 欧洲精品在线观看| 欧美国产日韩在线观看| 日韩国产精品久久久| 成人免费高清在线观看| 26uuu另类欧美亚洲曰本| 亚洲免费观看高清完整版在线观看熊 | 开心九九激情九九欧美日韩精美视频电影| 蜜臀久久久99精品久久久久久| 成人av手机在线观看| 精品视频在线免费观看| 国产精品久久久久一区二区三区| 亚洲自拍偷拍av| 99久久久免费精品国产一区二区| 欧美色老头old∨ideo| 国产精品丝袜在线| 国内成人精品2018免费看| 欧美性色综合网| 一区二区三区四区乱视频| 成人精品视频一区二区三区尤物| 91极品视觉盛宴| 国产午夜精品久久| 麻豆91精品91久久久的内涵| 精品污污网站免费看| 一区二区三区在线视频播放| 国产精品一区二区三区99| 欧美一级日韩一级| 美国欧美日韩国产在线播放| 欧美婷婷六月丁香综合色| 亚洲在线视频一区| 欧美在线视频日韩| 亚洲电影一级黄| 日韩一区二区三区四区| 久久国产精品第一页| 日韩精品一区二区三区视频在线观看| 亚洲大片精品永久免费| 欧美色电影在线| 日本aⅴ精品一区二区三区 | 欧美日韩国产影片| 日韩福利视频导航| 欧美成人a∨高清免费观看| 国产一区二区三区四区在线观看| 久久亚洲免费视频| 丰满亚洲少妇av| 1024成人网色www| 欧美日韩亚州综合| 国内外成人在线| 一区二区三区.www| 日韩午夜激情视频| 成人精品视频.| 天堂久久一区二区三区| 欧美videofree性高清杂交| 成人精品国产福利| 男女激情视频一区| 亚洲男人电影天堂| www亚洲一区| 在线播放亚洲一区| 91视频在线看| 狠狠色丁香久久婷婷综合丁香| 国产在线视频一区二区三区| 一区二区三区.www| 亚洲国产精品黑人久久久| 欧美日韩五月天| 91久久精品国产91性色tv| 精品影院一区二区久久久| 蜜臀99久久精品久久久久久软件| 日韩午夜激情av| 欧美日韩mp4| 91女人视频在线观看| 国产一区二区三区免费在线观看 | 日韩精品一区二| 91精品国产综合久久福利软件| 色综合天天综合网天天狠天天| 狠狠色丁香久久婷婷综合_中| 亚洲成人精品影院| 自拍偷在线精品自拍偷无码专区 | 99久久99久久综合| 丝袜诱惑亚洲看片| 欧美系列一区二区| 国产激情一区二区三区| 国产精品综合在线视频| 经典三级在线一区| 久久99九九99精品| 激情都市一区二区| 国内精品伊人久久久久av影院 | 91在线免费播放| 在线观看日韩av先锋影音电影院| 色综合天天综合| 欧美日韩视频在线一区二区| 欧美日本在线视频| 精品国产乱码久久| 亚洲欧美日韩小说| 青青草原综合久久大伊人精品优势| 奇米综合一区二区三区精品视频| 欧美aaaaa成人免费观看视频| 秋霞午夜av一区二区三区| 国产99久久久国产精品潘金| 91亚洲精品久久久蜜桃网站| 欧美日韩国产另类一区| 欧美成人性战久久| 亚洲日本在线天堂| 久久爱www久久做| 久久久美女毛片| 午夜欧美2019年伦理| 成人高清免费观看| 91精品福利在线一区二区三区 | 国产美女精品在线| 欧美影院一区二区三区| 精品国产一区二区三区忘忧草| 国产精品不卡在线观看| 伦理电影国产精品| 欧美福利视频导航| 国产精品你懂的| 久久成人免费网站| 欧美精品成人一区二区三区四区| 久久久久久久久久久黄色| 调教+趴+乳夹+国产+精品| 色综合一区二区三区| 欧美激情在线观看视频免费| 韩国一区二区在线观看| 欧美一区二区三区小说| 亚洲成人自拍网| 欧美日韩综合在线免费观看| 中文字幕在线观看不卡视频| 成人黄色在线网站| 国产欧美一区二区精品久导航 | 国产精品美女一区二区三区| 国产又黄又大久久| 精品欧美一区二区在线观看| 麻豆精品国产传媒mv男同| 日韩美女天天操| 国产麻豆一精品一av一免费| 久久久综合网站| 成人精品视频.| 亚洲视频免费观看| 欧美日韩和欧美的一区二区| 视频一区中文字幕国产|