|
对EasyBoot引导文件进行了一下简单的分析
0000 ; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0000
0000 DiskAddressPacket struc ; (sizeof=0x10) ; XREF: seg000:00C0r
0000 PacketSize db? ; 数据包尺寸(16字节)
0001 Reserved db? ; =0
0002 BlockCount dw? ; 要传输的数据块个数(以扇区为单位)
0004 BufferAddr dd? ; 传输缓冲地址(segment:offset)
0008 BlockNum dd? ; 磁盘起始绝对块地址
000C field_C dd?
0010 DiskAddressPacket ends
0010
FFFFFFFF ; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FFFFFFFF
FFFFFFFF ; enumconstant
FFFFFFFF sectorBuff = 800h ; XREF: checkDiskValid+32t
FFFFFFFF
seg000:0000 ;
seg000:0000 ; ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
seg000:0000 ; ※ This file is generated by The Interactive Disassembler (IDA)※
seg000:0000 ; ※ Copyright (c) 2002 by DataRescue sa/nv, <ida@datarescue.com>※
seg000:0000 ; ※ Licensed to: Thomas Wright, DVDMods, 1user, special※
seg000:0000 ; ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
seg000:0000 ;
seg000:0000 ; ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
seg000:0000 ; File Name : E:\loader.bin
seg000:0000 ; Format : Binary File
seg000:0000 ; Base Address: 5000h Range: 50000h- 50800h Loadedlength:0800h
seg000:0000
seg000:0000
seg000:0000 ; ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
seg000:0000
seg000:0000 ; Segment type: Pure code
seg000:0000 seg000 segment byte public'CODE' use16
seg000:0000 assume cs:seg000
seg000:0000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
seg000:0000
seg000:0000 seg5000:
seg000:0000 cld
seg000:0001 mov ax,5000h
seg000:0004 mov es,ax ; ES=5000h
seg000:0006 assume es:seg000
seg000:0006
seg000:0006 loc_50006:
seg000:0006 sub ax,80h ; ' |
|