IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Работа с диском на физическом уровне
сообщение
Сообщение #1


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


smile.gif ВОт начал было ASM мотреть и вот по
----------
|int 13h WINDOWS XP недает даже читать диск
----------
говорит что приложение использует прямой доступ
как сделать так чтабы WINDOWS не прерывал
работу программы ВОТ :-[


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Работай с под голой ДОС, либо обращайся напрямую к контроллеру... smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


;D Гы ГЫ я гадасть делаю мне прямо из под WINOW
и надо то ВОТ
----
что бы пользователь не подозревал


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Тогда напрямую к контроллеру... :D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


Нашол пару прерываний DOS УРА int 26h запсь
из доса выкидывает но пишет на дискету в 0
дорогу инфу от чего она читаетсь
но
места свободнога на ней 0
занятого 0
записать ничего нельзя
и нелечится WINDOWS
--------
интересно а с винтом ето пройдет???
--------


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Под XP, вряд-ли
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


Гм пробовать на св не буду  :P


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


smile.gif ГМ вот примерно что получилось
mov ax,0
mov dx,0
mov cx,5
mov es,[ds:bx] ; вот ето что значит???? пока не прочел
int 26h
работает корректно пака дискета норамльная ;D


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Цитата
smile.gif ГМ вот примерно что получилось
mov ax,0
mov dx,0
mov cx,5
mov es,[ds:bx] ; вот ето что значит???? пока не прочел
int 26h
работает корректно пака дискета норамльная ;D




AX - номер логического диска (0-A, 1-B)..
DX - стартовый номер логического сектора
CX - количество секторов для записи
DS:BX - буфер с секторами, полными вирусов и спама  ;) (для дос выше 4.х это может быть адрес управляющего блока).

а [DS:BX] - это хрень, компилятор проигнорирует DS: и это будет выглядеть следующим образом:
mov es,[bx] что эквивалентно mov es,ds:[bx], а зачем инициализировать ES, я не знаю, т.к. - это не нужно. Нужно инициализировать DS:BX как адрес твоего буфера с секторами для записи... :o

А в данном примере ты гадишь загрузочную запись + 4 сектора всяким мусором, расположенным по адресу DS:[BX]  ;D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


;D насчет регистров ето понятно
и что загрузочную понятно
у книге написанно
------
про буффер неочень то
в книшге нету инфы или не увидел
---
как в него чего-то положить(буффер)
типа -=BEST HACKER=-
строки


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


var S:String[20];
Begin
  S:='-=BEST HACKER=-';
asm
lea bx,S+1   {+1 потому что 1 байт - размер строки}
{теперь DS:BX - содержит строку S + разное говно
после нее}
end;
End.

А вообще, после формирования динамических данных, работай со строковыми регистрами
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


;D YES УРРРРРА  заработало
помотрел вредакторе диска угу есть строчечка


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Попробовал бы с загрузочной дискеты - просмотреть содержимое бут-сектора... в плане деассемблировать и попробовать написать свой бут  ;)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


;D ДЫК ТУДА МОНО ВИРУСНЫЙ КОД ПОЛОЖИТЬ
;D
правда все поппытки
скопировать БУТ с целой дискеты
и записать на другую
подвинды чегото не удается
портить удается а вот читать чеггто нет
:'(


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


вот исходник типа дискету лечить
его загрузочную область
читать с хорошей дисукеты
и ззаписать на плохую
но чего то не работает
-------------------------------------
.MODEL SMALL
.STACK 100H
.DATA
;msg  db '-=ENTER    DISK=-',10,13,'$'
;msg1 db '-=No       DISK=-',10,13,'$'
;msg2 db '-=ENTER DISK #2=-',10,13,'$'

paramdisk label word
maxlen            dw 6400            
dataread      dw 6400 dup(?)

.CODE
START:
     mov ax,3
     int 10h
     mov ax,@data
     mov ds,ax
     ;mov dx,offset msg
     ;mov bx,offset msg2
     ;mov ah,9
     ;int 21h
     mov ah,1
     int 21h
     ;xor dl,dl
     ;-------------DISK_READ----------
     mov ah,2            ;function read
     mov al,1            ;sectors col-vo
     mov cx,1              ;sector/cylindir
     mov dl,0              ;NUMBER DISK a:
     mov dh,0            ;number head
     mov es,paramdisk
     mov bx,paramdisk
     int 13h
     mov ax,0000
     ;jb a yes disck flag CF=0 --->to label <a:> no disk flag CF=1
;      mov dx,offset msg2
;      mov ah,9
;      int 21h
     mov ah,1
     int 21h
;--------------DISK WRITE----------------------------
     mov ah,3
     mov al,1
     mov cx,1
     mov dl,0
     mov dh,0
     mov es,paramdisk
     mov bx,[offset paramdisk]
     
     int 13h
;      mov ax,0
;      mov dx,0
;      mov cx,2
;      mov bx,offset paramdisk
;      mov es,[bx]
;      int 26h
;      mov ah,3
;      mov al,2
;      mov ch,0
;      mov cl,0
;      mov dh,0
;      mov dl,0
;      mov es:bx,[paramdisk]
;      mov ds,es:[bx]
;      int 13h
     ;-----------------
     call exit_p
     a:
     ;mov dx,offset msg1
     ;mov ah,9
     ;int 21h
     mov ah,1
     int 21h
     ;----EXIT------
     call exit_p
     
exit_p proc near
     mov ah,4ch      ;|
     mov al,0      ;| -EXIT to DOS;
     int 21h            ;|/
endp exit_p
end start


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Попробуй вот этот:  ;)
Только откомпиль в com-формате  :P
а для этого в том редакторе нужно выставить параметры в опции Compiler...
И зачем ты делаешь - это, обращаясь к BIOS, ДОС делает - это точно также (в смысле обращаясь к биос), но предоставляет более удобную систему адресации сектора... smile.gif

.8086
.MODEL TINY
.CODE
ORG 100h
START:
       mov ax,3                ; Чистим экран
       int 10h
       lea dx,Msg              ; Мессага о вставке первой дискеты
       mov ah,9
       int 21h
       mov ah,0                ;
       int 16h                 ; Ждем клавишу
       mov al,0                ; Номер диска (A:)
       mov cx,1                ; Читаем 1 сектор
       xor dx,dx               ; Стартовый сектор (boot)
       lea bx,Buf              ; DS:BX - буфер для чтения
       int 25h                 ; читаем
       jc  @ErMes            ; при ошибке - выдаем мессагу
       lea dx,Msg2             ; сообщение о вставке второй дискеты
       mov ah,9
       int 21h
       mov ah,0
       int 16h                 ; ждем клавишу
       mov al,0                ; Номер диска (A:)
       mov cx,1                ; Пишем 1 сектор
       xor dx,dx               ; Номер стартового сектора
       lea bx,Buf              ; DS:BX - буфер
       int 26h                 ; Пишем
       jc  @ErMes            ; не выходит - мессага
       jmp @Exit
@ErMes: lea dx,Msg1
       mov ah,9
       int 21h
@Exit : mov ax,4C00h
       int 21h

Msg  db 'Enter disk, then press key...',10,13,'$'
Msg1 db 'IO Error...',10,13,'$'
Msg2 db 'Enter disk #2 then press key...',10,13,'$'
Buf  db 512 dup (1)

End start
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


УГУ ПРОБУЮ


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Профи
****

Группа: Пользователи
Сообщений: 775
Пол: Мужской

Репутация: -  0  +


Получается ???  :)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


sad.gif чегоето нет чегто читает чегото пишет на дискету
а еффекта нет всравно загр сектор содержит строку
которую писал туда -портильщиком=
решил короче создать портильщик чтоб
он туда писал загрузинфу прямо в кодах
перепещу HEX коды из редактора вручную
поставлю место строки и попробую так
---
чегото не прав делаем ???


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Lonely_Raven
****

Группа: Пользователи
Сообщений: 640
Пол: Мужской

Репутация: -  1  +


:P ВИНДЫ ГОВОРЯТ
фишка в том что пока дискета хорошая
он портит а когда плохая он уже даже портить не
может винды нендают говорят что дискета нестандартная и Брррр  :P :-[ :'(


--------------------
Программа делает то что вы ей приказали а не то что бы ВАМ хотелось бы.
МЕРФИ
---------------------
RTFM - Read the fucking manual
---------------------
http://www.livejournal.com/users/lonley_raven/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 28.06.2017 2:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"