Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 687
от 14.01.2004, 19:40

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 4819
Отправлено ответов: 13587
Активность: 281.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 146.56
URL: Программирование
[Подробней >>]
Илья
Статус: Профессиональный
Общий рейтинг: 102.35
[Подробней >>]
_vt
Статус: Профессиональный
Общий рейтинг: 118.18
[Подробней >>]
 
SedHg
Статус: Доверительный
Общий рейтинг: 114.22
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 106.07
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 136.67
URL: Super Assembler Software
Телефон: Пчёлка +7 905 6601206
[Подробней >>]
 
vitya
Статус: Профессиональный
Общий рейтинг: 108.34
[Подробней >>]
dr_dolphin
Статус: Опытный
Общий рейтинг: 113.56
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 107.89
URL: Мой сайтик...
[Подробней >>]
 
izLesa
Статус: Начальный
Общий рейтинг: 106.3
[Подробней >>]
never_again
Статус: Опытный
Общий рейтинг: 126.53
[Подробней >>]
VOVAN
Статус: Начальный
Общий рейтинг: 107.93
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 116.49
[Подробней >>]
St
Статус: Профессиональный
Общий рейтинг: 105.56
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 4768. Здравствуйте. Можно-ли перехватить вектор прерываний в Windows? Для этого нужно писать VXD драйвер? ... (ответов: 1)
Вопрос № 4770. Здравствуйте уважаемые эксперты. Извините что сегодня не по теме. 1. Кто знает, что происходит в вин... (ответов: 1)
Вопрос № 4772. Привет народу!Скажи,народ, где в нете валяется даром MASM под тетю Досю?Я собрал почти полный компле... (ответов: 2)
Вопрос № 4773. Здравствуйте Как использовать ф-ию OpenFile? Один из параметров это указатель на структуру OFSTRUCT,... (ответов: 4)
Вопрос № 4774. Добрый день или ночь..:) Вообщем слышал что есть книга "Внутреннее устройство Microsoft Windows... (ответов: 1)
Вопрос № 4775. Приветствую вас, Господа эксперты!!! Такой вопрос -С недавних пор озадачился таким вопросом, есть во... (ответов: 3)
Вопрос № 4777. Почему в программе ---------------- CSEG segment org 256 main: mov ah, 9 mov dx, offset My_name int ... (ответов: 8)
Вопрос № 4778. Привет всем. Посоветуйте, где можно найти описание кодировок (КОИ-8 и др.) в электронном виде.... (ответов: 1)
Вопрос № 4779. Здраствуйте эксперты! Очень нужнен образец програмы "вывод на печать в графическом режиме любог... (ответов: 2)
Вопрос № 4780. Подскажите пожалуйста. В памяти есть специальный байт который указывает на включенность LOCK-ов. Про... (ответов: 3)

Вопросов: 10, ответов: 26


 Вопрос № 4768

Здравствуйте.
Можно-ли перехватить вектор прерываний в Windows?
Для этого нужно писать VXD драйвер?
Можете дать пример VXD драйвера?



Вопрос отправлен: 09.01.2004, 09:01
Отправитель: Pawel

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, Pawel!
VxD - это только для 98-го (и МЕ) виндовса. Да, он может перехватить вектор прерывания. Пример есть на моей странице (раздел файлы) http://bobjohnson.nm.ru

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 12.01.2004, 02:43
Отправитель: Bob Johnson


 Вопрос № 4770

Здравствуйте уважаемые эксперты.
Извините что сегодня не по теме.
1. Кто знает, что происходит в винде когда в настройках отмечаешь "не показывать скрытые и системные файлы"? Пробовал в реестре отследить, вроде ничего не меняется или я не отловил этот момент. Надо прогу сделать чтоб она эту настройку меняла. Система XP.
2. Как с компакта(загрузочного) вынуть загрузочную область. Файловые менеджеры ничего не кажут. Может кто сталкивался? Да, и чтобы потом можно было сделать компакт бутовый, например в Nero.
Спасибо.



Вопрос отправлен: 09.01.2004, 18:59
Отправитель: Макс (max.yegorov@mail.kz)

[Следующий вопрос >>] [Список вопросов]

Отвечает Илья

Доброе время суток, Макс!
2) что-то подобное есть тут:
http://bootcd.narod.ru/copyboot.htm
полазь полностью по сайту, может еще что-нибудь интересное для себя найдешь.


Ответ отправлен: 09.01.2004, 23:40
Отправитель: Илья


 Вопрос № 4772

Привет народу!Скажи,народ, где в нете валяется даром MASM под тетю Досю?Я собрал почти полный комплект:MASM 8.0,TASM 5.0,TASM 2.0,а вот масма нет под дос,а иногда бывает нужен!



Вопрос отправлен: 09.01.2004, 21:00
Отправитель: Sedric (eiv.ivan@rambler.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Доброе время суток, Sedric!
www.kalashnikoff.ru - там версия 6.11, и под дос и под винды.
--- E-Man 1.5+ : Happy New Year!


Ответ отправлен: 09.01.2004, 21:46
Отправитель: _vt


Отвечает SedHg

Добрый день, Sedric!
MASM 5.11 есть на этом сайте asm.shadrinsk.net


Ответ отправлен: 10.01.2004, 20:51
Отправитель: SedHg


 Вопрос № 4773

Здравствуйте
Как использовать ф-ию OpenFile? Один из параметров это указатель на структуру OFSTRUCT, которая служит для заполнения информации о файле, но как ее сделать этот указатель на MASM-е.



Вопрос отправлен: 09.01.2004, 22:00
Отправитель: Ivan

[Следующий вопрос >>] [Список вопросов]

Отвечает Gibbel

Доброе время суток, Ivan!
Указатель на структуру - это адрес структуры в памяти. Отсюда делай выводы.

Ответ отправлен: 10.01.2004, 22:18
Отправитель: Gibbel


Отвечает Евгений Иванов

Приветствую Вас, Ivan!
Это адрес. Простой адрес.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 10.01.2004, 00:40
Отправитель: Евгений Иванов


Отвечает vitya

Приветствую Вас, Ivan!
создаешь экземпляр структуры, а потом передаешь ее offset.

Ответ отправлен: 10.01.2004, 15:04
Отправитель: vitya


Отвечает Bob Johnson

Добрый день, Ivan!
Эта функция устарела. Используй CreateFile.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 12.01.2004, 02:43
Отправитель: Bob Johnson


 Вопрос № 4774

Добрый день или ночь..:)
Вообщем слышал что есть книга "Внутреннее устройство Microsoft Windows 2000" Марк Руссинович, Дэвид Соломон в электронном варианте. Не знаите ли где ее можно скачать, или если есть у кого такая, вышлите пожалуйсто на ящик pasha_12@mail.ru. Заранее благодарен.



Вопрос отправлен: 10.01.2004, 10:46
Отправитель: Pasha

[Следующий вопрос >>] [Список вопросов]

Отвечает dr_dolphin

Добрый день, Pasha!
Да, есть на ftp.exetools.com.
Это книга "Inside Windows 2000" от Microsoft Press в формате chm (~18M)
Пока!


Ответ отправлен: 11.01.2004, 10:18
Отправитель: dr_dolphin


 Вопрос № 4775

Приветствую вас, Господа эксперты!!!
Такой вопрос -С недавних пор озадачился таким вопросом, есть вордовский док, есть пароль на открытие этого дока, так вот как обойти этот пароль(оговорюсь сразу -брутфорс не подойдёт, мне важен сам процесс)!!! Как я понимаю в оффисе есть функция которая запоминает, а затем сравнивает пароли и хранит их в зашифрованом виде -так??? Так вот как отключить эту фишку или обойти, чтоб она "отвечала" правильно при вводе любого пароля??? Или вообще чего то не правильно понимаю??? Если кто пытался с этим разобраться или кого интересует этот вопрос -пожалуйста ответьте или свяжитесь со мной!!!
И не надо считать меня извращенцем Надеюсь на ваш проффесианализм!!!



Вопрос отправлен: 10.01.2004, 12:19
Отправитель: rams (rams@belovo.net.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает dr_dolphin

Здравствуйте, rams!
В приложениях MS Office пароли к файлам хранятся в самх документах (по разным смещениям), а алгоритмы шифрации/дешифрации паролей записаны в исполняемых файлях Office (например winword.exe). Поэтому есть только два пути для взлома паролей файлов. 1) Перебором (что собственно и делает например Office Crack) и 2) Отладка winword.exe и нахождение там участка, отвечающего за кодирование/раскодирование паролей и потом пропатчивание winword.exe, что отнюдь не простая задача.

Пока...


Ответ отправлен: 11.01.2004, 10:18
Отправитель: dr_dolphin


Отвечает Portnov

Здравствуйте, rams!
Если пароль только на запись, то это вообще не проблема - открываете шестнадцатиричным редактором, пароль там в конце незашифрованный в юникоде лежит. Если пароль на открытие, то придется брутефорсом, либо по словарю. См., например, Advanced MSOffice Password Recovery Pro.
Каким алгоритмом пользуется Ворд, я сейчас не помню, но знаю, что это сильный алгориитм, и пароль нигде не хранится, хранится только его хэш (в самом документе). А, например, Access, использует вариант DES, и пароль шифрует им же, а ключ для шифрования пароля лежит в открытом виде в одной из Office"овых Dll"ек. Так что пароли Access"а упомянутая выше AOPR снимает мгновенно.
С уважением, Portnov.

Ответ отправлен: 11.01.2004, 13:31
Отправитель: Portnov


Отвечает Bob Johnson

Здравствуйте, rams!
Скорее всего исходный файл кодируется этим паролем, так что пока ты его не введешь, исходных данных ты не получишь (глупо хранить пароль в файле и проверять его на равенство тому, что было введено...)
Так что brute force...

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 12.01.2004, 02:44
Отправитель: Bob Johnson


 Вопрос № 4777

Почему в программе
----------------
CSEG segment
org 256
main:
mov ah, 9
mov dx, offset My_name
int 21h
int 20h
My_name db 'my name$'
CSEG ends
end main
--------------
нельзя сточку "My_name db 'my name$'" напичатать выше?
Вот так:
--------------
CSEG segment
org 256
main:
mov ah, 9
mov dx, offset My_name
My_name db 'my name$'
int 21h
int 20h
CSEG ends
end main
-------------------
По логике мы сначало загружаем в регистр адрес где хрнится "my name", а затем вызываем прирывание, каторое выводит на экран.



Вопрос отправлен: 10.01.2004, 14:14
Отправитель: Jeddite

[Следующий вопрос >>] [Список вопросов]

Отвечает SedHg

Доброе время суток, Jeddite!
Есть такой принцип фон Неймана: "Безразличие к целевому назаначению данных".
Это значит, что машине все равно, какую логическую нагрузку несут обрабатываемые её данные.
Процессор всегда пытается трактовать содержимое ячеек памяти как машинные команды.
Что из этого следует? А то, что строку запиханную в перемежку с командами, процессор будет считать командой. И что может произойти, я думаю, ты представляешь ;).
Поэтому в com-файлах данные принято рассполагать либо после кода, либо до него.
Можно, конечно запихнуть строку и в тело программы, но тогда нужно будет сделать так, чтобы перед строкой стоял безусловный переход(jmp).
Как это сделать смотри в приложении.


Приложение:

Ответ отправлен: 10.01.2004, 20:48
Отправитель: SedHg


Отвечает dr_dolphin

Добрый день, Jeddite!
Данные и инструкции рассматриваются процессором одинаково, поэтому когда он дойдет до вашей строки посреди программы, от будет интерпретировать вашу строку как инструкции и соответственно либо зависнет либо перезагрузится....
Ну а вообще можно сделать так:
CSEG segment
org 256
main:
mov ah, 9
mov dx, offset My_name
jmp MyLabel (++++++++++++++++++)
My_name db 'my name$'
My_Label: (++++++++++++++++++)
int 21h
int 20h
CSEG ends
end main

Пока !


Ответ отправлен: 11.01.2004, 10:18
Отправитель: dr_dolphin


Отвечает Евгений Иванов

Доброе время суток, Jeddite!
Да всё можно.
Только зависнет так.
Вот так не зависнет:
mov dx, offset My_name
jmp @@m1
My_name db 'my name$'
@@m1:
int 21h
Удачи!
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 10.01.2004, 20:00
Отправитель: Евгений Иванов


Отвечает izLesa

Приветствую Вас, Jeddite!
Нет, потому что тогда эта строка будет путаться с кодом, а здесь мы пишем её уже после завершения программы int 20h.
Иначе эта строка будет в памяти там же, где и команды и передаватся будет так же как и команды процессору на выполнение. А в больших программах вообще лучше все данные помешать в отдельный сегмент данных. Да и оформлять программы лучше используя упрощенные способы описания сегментов.

Ответ отправлен: 10.01.2004, 19:37
Отправитель: izLesa


Отвечает never_again

Здравствуйте, Jeddite!
потому, что последовательность My_name db 'my name$' будет интерпритирована не как строка, а как набор каких-то комманд, что приведёт к непредвиденым последствиям.

Ответ отправлен: 10.01.2004, 21:40
Отправитель: never_again


Отвечает VOVAN

Доброе время суток, Jeddite!
просто компилятор может принять My_name db 'my name$'
как команду и может произойти ошибка и произойдётэто перед вызовом прерывания и тогда твоя строка не вылезет на экран

Ответ отправлен: 12.01.2004, 15:57
Отправитель: VOVAN


Отвечает Ayl

Здравствуйте, Jeddite!

Потому что процессору наплевать, что у тебя в исходном тексте - код, данные или что-либо еще. Он берет инструкцию по адресу CS:IP и выполняет ее. При этом значение IP увеличивается на длину выполненной команды и далее процесс повторяется.

Соответственно, если ты перенесешь свой текст "my name" выше (в выполняемый код), то он у тебя начнет выполняться. Что при этом получится - науке неизвестно. Но ничего хорошего, это точно.


Ответ отправлен: 12.01.2004, 12:16
Отправитель: Ayl


Отвечает Bob Johnson

Здравствуйте, Jeddite!
Потому что там находится программа! А процессор сам по себе не различает данные и программу и попытается выполнить команды, которые соответствуют кодам символов в твоей строке!

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 12.01.2004, 02:44
Отправитель: Bob Johnson


 Вопрос № 4778

Привет всем.
Посоветуйте, где можно найти описание кодировок (КОИ-8 и др.) в электронном виде.



Вопрос отправлен: 10.01.2004, 15:38
Отправитель: Angel

[Следующий вопрос >>] [Список вопросов]

Отвечает Евгений Иванов

Здравствуйте, Angel!
смотри в FAR.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 10.01.2004, 20:10
Отправитель: Евгений Иванов


 Вопрос № 4779

Здраствуйте эксперты!
Очень нужнен образец програмы "вывод на печать в графическом режиме любого символа" на асм.
Может кто - то помочь?
Если можна то не затягивайте с ответом, или если кто-то знает где есть ссылка , то дайте пожалуйста?



Вопрос отправлен: 10.01.2004, 18:19
Отправитель: Alex (alexandr@bonaspect.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает St

Привет, Alex!
У Журдена (Джордейна) в книге "Справочник программиста на персональном компьютере фирмы IBM" есть о графическом выводе на матричный принтер, ссылки на книгу в можно найти на yandex.ru
St

Ответ отправлен: 12.01.2004, 13:16
Отправитель: St


Отвечает Евгений Иванов

Здравствуйте, Alex!
Смотри на моём сайте разработку Калах.
А если на принтер, то :(
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 10.01.2004, 20:47
Отправитель: Евгений Иванов


 Вопрос № 4780

Подскажите пожалуйста. В памяти есть специальный байт который указывает на включенность LOCK-ов. Проверяется ли этот байт постоянно или только после нажатия на клавишу.
Спасибо.



Вопрос отправлен: 10.01.2004, 19:40
Отправитель: xghost

[Следующий вопрос >>] [Список вопросов]

Отвечает Ayl

Приветствую Вас, xghost!
Кем проверяется? И зачем постоянно?
Он точно проверяется при обработке прерывания 9. Для правильного преобразования нажатой клавиши. Это прерывание генерируется всякий раз, когда нажимается или отпускается клавиша на клавиатуре.
Больше он нигде не анализируется. Если только ты сам не напишешь программу, которая будет его отслеживать.

Ответ отправлен: 12.01.2004, 12:20
Отправитель: Ayl


Отвечает Евгений Иванов

Добрый день, xghost!
Как хочешь.
Зависит от тебя.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 10.01.2004, 20:52
Отправитель: Евгений Иванов


Отвечает izLesa

Доброе время суток, xghost!
Только при нажатии на кнопку

Ответ отправлен: 10.01.2004, 22:36
Отправитель: izLesa



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (24)
C / C++ (17)
Perl (4)
Builder / Delphi (18)
Pascal (19)
Basic / VBA (4)
Java / JavaScript (5)
PHP (12)
Криптография (5)
WinAPI (12)
Пользователю
Windows 95/98/Me (41)
Windows NT/2000/XP (57)
"Железо" (28)
Поиск информации (21)
Администратору
Windows NT/2000/XP (27)
Linux / Unix (8)
Юристу
Гражданское право (13)
Семейное право (9)
Трудовое право (10)
КоАП (9)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное