информационная безопасность
без паники и всерьез
 подробно о проекте
Портрет посетителяСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Хакеры опять разморозили холодильники... 
 C3RB3R шифрует NAS Synology через... 
 Chainalysis раскрыла взлом собственных... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
MBR... 09.02.02 23:14  Число просмотров: 939
Автор: Chingachguk <Chingachguk> Статус: Member
Отредактировано 09.02.02 23:17  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
У кода MBR есть некоторые особенности, одна из которых - загрузка его кода BIOS-ом в память 0000:7c00h. Ниже пример начала загрузчика MBR(я дизассемблировал его, он от win98):

; start at 0000:7c00h
xor ax,ax ; ax:=0
mov ss,ax ; set stack
mov sp,7c00h ; to 0000:7c00h
sti ; Interrupt enable
push ax
pop es ; es:=0000h
push ax
pop ds ; ds:=0000h
cld ; for move self code
mov si,7c1bh ; from 1bh at begin of MBR
mov di,061bh ; to 0000:061bh (before initial position)
push ax
push di ; for retf to moving code
mov cx,01e5h ; 512bytes-01bh
rep movsb
retf ; jmp to copyed code
; continue at 0000:061b
mov si,07beh ; look at disk parametrs = offset params Area
mov cl,04 ; 4 blocks, ind(si-07beh) = 0
@FindWorkDisk: ; 0620h
cmp ds:[si],ch ; with zero
jl @DiskFound ; if Disk number > 80h
jnz @StrangeDisk

Если будут какие конкретные вопросы - пиши, отвечу Ж))).
Хочешь ли ты сцепить его с родным загрузчиком ?
Лучше приведи пример ВСЕГО своего кода.
<programming>
MBR... 09.02.02 22:28  
Автор: PS <PS> Статус: Elderman
Отредактировано 09.02.02 23:00  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Как загрузчик написать ?
Создал бинарник (as86 -b t1.b t1.s). Загнал его на дискету (dd if=t1.b of=/dev/fd0). Гружусь с дискеты... опс... все виснет.
Код простейший - типа такого:
mov ax, 0x0013
int 10
дальше очистка экрана
jmp start
т.е. если бы работало - увидел бы.
Всего 11ть байт.

Что не верно ?
MBR... 09.02.02 23:14  
Автор: Chingachguk <Chingachguk> Статус: Member
Отредактировано 09.02.02 23:17  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
У кода MBR есть некоторые особенности, одна из которых - загрузка его кода BIOS-ом в память 0000:7c00h. Ниже пример начала загрузчика MBR(я дизассемблировал его, он от win98):

; start at 0000:7c00h
xor ax,ax ; ax:=0
mov ss,ax ; set stack
mov sp,7c00h ; to 0000:7c00h
sti ; Interrupt enable
push ax
pop es ; es:=0000h
push ax
pop ds ; ds:=0000h
cld ; for move self code
mov si,7c1bh ; from 1bh at begin of MBR
mov di,061bh ; to 0000:061bh (before initial position)
push ax
push di ; for retf to moving code
mov cx,01e5h ; 512bytes-01bh
rep movsb
retf ; jmp to copyed code
; continue at 0000:061b
mov si,07beh ; look at disk parametrs = offset params Area
mov cl,04 ; 4 blocks, ind(si-07beh) = 0
@FindWorkDisk: ; 0620h
cmp ds:[si],ch ; with zero
jl @DiskFound ; if Disk number > 80h
jnz @StrangeDisk

Если будут какие конкретные вопросы - пиши, отвечу Ж))).
Хочешь ли ты сцепить его с родным загрузчиком ?
Лучше приведи пример ВСЕГО своего кода.
У меня ошибка была... 10.02.02 00:53  
Автор: PS <PS> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Всего навсего решетку поставить забыл.
Вместо
mov ax, 0x0013
надо было писать
mov ax, #0x0013

Теперь вижу, что все работает :)

Спасибо за отклик.
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach