Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 476
от 24.01.2003, 18:10
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2488 Отправлено ответов: 7530 Активность: 302.6 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Bob Johnson Статус: Профессиональный Общий рейтинг: 152.58 URL: Программирование [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.82 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 114.02 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Igoryk Статус: Опытный Общий рейтинг: 140.45 URL: IgorykSoft [Подробней >>] |
LIFO Статус: Профессиональный Общий рейтинг: 118.77 URL: наш сайт Телефон: 8 01710 24758 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 146.54 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 121.49 URL: Страничка рассылки по Паскалю Телефон: +38 (0572) 41-76-04 д. [Подробней >>] |
Топор Статус: Начальный Общий рейтинг: 115.21 [Подробней >>] |
DiGiT[old] Статус: Опытный Общий рейтинг: 108.17 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 126.71 URL: моя рассылка по Protected Mode [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 139.47 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Andrew Vext Статус: Опытный Общий рейтинг: 107.43 [Подробней >>] |
Eugene Статус: Опытный Общий рейтинг: 109.1 URL: мощный файловый архив [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2445. Доброго времени суток, уважаемые эксперты! Подскажите, пожалуйста, способ перехватить int 21 в DOS о... (ответов: 4)
Вопрос № 2446. Доброе время суток , эксперты ! ******************************* 1. Получил ваше мнение о книге Каспе... (ответов: 4)
Вопрос № 2447. Здравствуйте....!!! Хочу спросить так как совсем запутался.... Короче вот есть винт со секторами, го... (ответов: 1)
Вопрос № 2448. Здравствуйте господа эксперты. Есть такая ситуация: например пишу прогу на VC++, ставлю в неё ассемб... (ответов: 5)
Вопрос № 2449. Всем привет! Вот вы Юрова опускаете... ведь рулезные книги, с них не плохо начинать, особенно если ... (ответов: 5)
Вопрос № 2450. Здравствуйте Ayl. >Какие функции винды? Почему они должны быть вызваны? Мой ход мыслей: как вы уже о... (ответов: 1)
Вопрос № 2452. Господа! Извините, что не совсем по теме, но не подскажет ли мне кто-нибудь книги или хорошие ссылки... (ответов: 5)
Вопросов: 7, ответов: 25
Вопрос № 2445 |
Доброго времени суток, уважаемые эксперты! Подскажите, пожалуйста, способ перехватить int 21 в DOS окне Windows98.Это нужно с целью проконтролировать что и сколько читает(пишет) DOS-приложение, запущенное под Win98. Большое спасибо за ответ.
Вопрос отправлен: 19.01.2003, 10:10
Отправитель: Вадим
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, Вадим!
Перехватить его можно обычным образом, как и под дос. Но действовать это будет только на то дос-окно, где int 21 было перехвачено.
Ответ отправлен: 19.01.2003, 22:00
Отправитель: Bob Johnson
Отвечает Ayl
Здравствуйте, Вадим!
А типа что мешает? Так же, как и в "голом" DOS'е. Либо напрямую через таблицу векторов, либо с помощью функций 35h (прочитать) и 25h (записать) вектор прерывания.
Ответ отправлен: 20.01.2003, 12:14
Отправитель: Ayl
Отвечает baldr
Добрый день, Вадим!
Если нужно проконтролировать только файлы, то можно воспользоваться какой-нибудь
программой вроде WinSight или Process viewer, которые позволяют вести мониторинг обращения
не только к файлам, а и к реестру, dll и пр... Кажется, в поставке с Norton utilities была такая?
Ответ отправлен: 20.01.2003, 00:04
Отправитель: baldr
Отвечает Igoryk
Доброе время суток, Вадим!
Если есть возможность запуска резидента, то можно перехватить. Если же просто ни с того ни с сего, то в ряд ли.
Ответ отправлен: 20.01.2003, 15:06
Отправитель: Igoryk
Вопрос № 2446 |
Доброе время суток , эксперты !
*******************************
1. Получил ваше мнение о книге Касперского.
Хотел попросить - у кого есть скинуть мне
на мыло(brothers@atnet.ru) файлы-примеры,а то у меня только
один doc-файл с книгой.
2. Дошел в книге Склярова "Программирование на
языке ассемблера" до 6 главы "Обьектно-ориентированный
ассемблер",прочитал пару листов - вопрос : ООП на асме
кто-нибудь реально пользуется ?
Вопрос отправлен: 19.01.2003, 13:09
Отправитель: IceWINteR (brothers@atnet.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает LIFO
Здравствуйте, IceWINteR!
О какой именно книге:
Техника сетевых атак или техника хакерских атак.
Ответь мне на eugene_p@mail.ru
я вышлю.
Ответ отправлен: 19.01.2003, 20:59
Отправитель: LIFO
Отвечает masquer
Здравствуйте, IceWINteR!
2. Было такое обсуждение с полгода назад. ООП не пользуюсь, а на ассемблере - это вообще нонсенс. Зачем мне нагружать себя дополнительной информацией об ООП? И в дополнение на один из ответов - ну я пишу сложные программы на асме, и без всяких ООП, и ничего...
Ответ отправлен: 21.01.2003, 12:41
Отправитель: masquer
Отвечает Sensey
Доброе время суток, IceWINteR!
2. Я нет. :)
И таких не знаю пока. Может с других ответов узнаю :)))
Ответ отправлен: 22.01.2003, 12:26
Отправитель: Sensey
Отвечает Igoryk
Добрый день, IceWINteR!
2. ООП нужен там, где он нужен! В ряд ли кто-нибудь пишет на ассемблере сложнейшие программы с ООП. Но на мой взгляд: когда все упорядочено, то легче программировать и понимать программу.
Ответ отправлен: 20.01.2003, 15:06
Отправитель: Igoryk
Вопрос № 2447 |
Здравствуйте....!!!
Хочу спросить так как совсем запутался....
Короче вот есть винт со секторами, головками , цилиндрами. Вот хочу спросить инфа записывается в секторы... как она там выглядит т.е. записывается только 1 и 0 или нет...
И второе если я буду записывать в секторы начиная с 1 по конец - 0 диск форматнется ....?? может дадите пример форматирования A:
p.s. не ругайтесь если совсем чушь пропорол, а лучше объясните
Вопрос отправлен: 19.01.2003, 23:51
Отправитель: lamachok
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, lamachok!
Что-то я не понял, что значит, как она выглядит? По крайней мере точно никаких 0 и единиц там нет. На диске образуются области намагничивания. 2-х видов. Один принимают за 0, второй - за 1.
2. Не форматнется. Ты просто затрешь старую информацию новой. Форматирование диска - это логическое разделение дорожки на сектора. При форматировании не только в каждый сектор заносится пустое значение (обычно, F6) но и заполняются межсекторные промежутки. Для форматирования посмотри функцию 5 прерывания 13h
Ответ отправлен: 20.01.2003, 12:26
Отправитель: Ayl
Вопрос № 2448 |
Здравствуйте господа эксперты.
Есть такая ситуация: например пишу прогу на VC++, ставлю в неё ассемблерные вставки, в которых присутствуют команды in, out.
Вопрос: при обращении к портам будут вызваны функции виндоус?
Если да, примерно, насколько это загрузит машину больше чем её загружает простые in и out? (точных оценок не нужно, ответте пожалуйста что-нибудь типа: существенно/несущественно)
Большое спасибо.
Вопрос отправлен: 20.01.2003, 11:28
Отправитель: Алексей
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Приветствую Вас, Алексей!
Какие функции винды? Почему они должны быть вызваны?
На самом деле при обращении к портам проц проверяет уровень привилегии твоего приложения (скорее всего, 3) и уровень привилегий ввода-вывода (флаг IOPL). Если первое больше второго, то генерится особая ситуация 13.
Вторая часть вопроса совсем непонятна. Что имеется в виду под простыми in и out? В защищенном режиме обращение к портам медленнее, чем в реальном. Но все это несущественно.
Ответ отправлен: 20.01.2003, 12:38
Отправитель: Ayl
Отвечает masquer
Здравствуйте, Алексей!
Какие такие функции? Получишь простое окошко, где черным по аглицки написано будет "privilege instruction". Драйвер пиши.
Ответ отправлен: 21.01.2003, 13:32
Отправитель: masquer
Отвечает Топор
Доброе время суток, Алексей!
Винда может просто не дать тебе порты напрямую, "недопустимая операция". Хотя обычно читать разрешает.
Ответ отправлен: 20.01.2003, 11:34
Отправитель: Топор
Отвечает Igoryk
Здравствуйте, Алексей!
На мой взгляд Windows должна просто проверить имеет ли программа работающая с портами права на обращения к некоторым из портов. Если да, то на обыкновенном ассемблером уровне будет происхожить передача данных в порт. Если нет - то нет.
Ответ отправлен: 20.01.2003, 15:06
Отправитель: Igoryk
Отвечает DiGiT[old]
Приветствую Вас, Алексей!
Если твоя прога работает в 3-м кольце, то получается, что твои порты перенаправлены, но неизвестно, куда(вернее куда положено). И для корректной работы ОС надо использовать ее сервис. Зачем изобретать велосипед, если уже есть написанный код(в разрез с мышлением ассемблерщика :))
Ответ отправлен: 21.01.2003, 04:45
Отправитель: DiGiT[old]
Вопрос № 2449 |
Всем привет!
Вот вы Юрова опускаете... ведь рулезные книги, с них не плохо начинать, особенно если не знаешь что такое OFFSET :) Вы ещё скажите, что Михаил Гук книги не лучше пишет! Вот "ASSEMBLER для Windows" В.Ю. Пирогова действительно одна вода+опечатки, особенно если знаешь лексику Cи и есть Win32 SDK Reference. И само собой - книга Зубкова С.В. “ASSEMBLER для DOS, Windows и Unix” тоже рулз.
Тут просвистело недавно в рассылке "Есть ли API что бы повесить Windoze" (Вопрос 2391)
Был сильно удивлён не увидев самого примитивного и 100% работающего кода вешающего WinNT (я проверял его на Win 2k и Win .NET, в NT4.0 скорее всего тоже будет работать). Итак:
Конечно, инструкцию CLI системы NT на ring3 не дают выполнить, но есть API которые могут сделать «примерно тоже самое». Т.е. само собой это бесконечный цикл, но предварительно процессу и его потоку присваивается максимальный приоритет.
call GetCurrentProcess
call SetPriorityClass, eax, REALTIME_PRIORITY_CLASS
call GetCurrentThread
call SetThreadPriority, eax, THREAD_PRIORITY_TIME_CRITICAL
cycle: jmp cycle
В общем эффект в NT - рулезный, мыша виснет, клава отдыхает. А вот в 9х: CTRL+ALT+DEL -> End Task и все дела :)
Скачать пример мона отседа (для 9x и NT) http://formatC-vt.hotbox.ru/Win32Freeze.zip [17,7 KB]
Эх, походу Вы не изучали вы сурсы Back Orifice... :) Там таким же способом вешали машину.
Hint: Хотя, в этом случае, комп конечно остаётся рабочим, машина в сети, пингуется, но подрубиться к ней нельзя. Ну вспомните вы старый и добрый БО, епрст :)
Собственно у меня всё, спасибо за внимание. У кого-нибудь есть вопросы? :)
Вопрос отправлен: 20.01.2003, 13:09
Отправитель: Andrew (formatC_vt@hotbox.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Andrew!
Да ладно тебе, способов винду завалить немеряно, что, все начать перечислять? У меня где-то валялась подборочка...
А насчет книг, так на вкус и цвет, сам понимаешь, и кастрюля - соловей...
Ответ отправлен: 21.01.2003, 14:05
Отправитель: masquer
Отвечает Broken Sword
Доброе время суток, Andrew!
я тоже видел немало книг по асму русскоязычных (сдается мне, что все выпущенные с 1990 года), так вот они делятся на две категории: вода (все подобные переливают друг у друга воду и похожи как братья - Юров, Пирогов, Голубев), и написанные заумным тех. языком переведенные мануалы (тоже мало чем отличаются). Единственное приятное исключение (смесь воды и тех.подробностей) - Зубков, да и то данная книга появлиась только благодаря другой блистательной книге на англ. языке "Art Of Assembly Language"
насчет того что никто не ответил как перезагрузить Win у меня есть избитый вопрос: при чем здесь рассылка по асму?
Ответ отправлен: 20.01.2003, 13:34
Отправитель: Broken Sword
Отвечает Maverick
Здравствуйте, Andrew!
Незнаю, я его никогда не опускал.
Я наоборот считаю, что после Зубкова нужно почитать Юрова.
Особенно мне его книга нравится "Практика..."
Да и вообще я считаю, что все авторы хороши по своему, у некоторых одни вопросы разжеваны подробно, а другие поверхностно, у других наоборот.
Ответ отправлен: 21.01.2003, 14:45
Отправитель: Maverick
Отвечает Igoryk
Доброе время суток, Andrew!
А мне мой вариант больше нравится:
call DisableOemLayer.
Ответ отправлен: 20.01.2003, 15:06
Отправитель: Igoryk
Отвечает DiGiT[old]
Добрый день, Andrew!
Эти книги если начинать изучать, то рульно, я их когда то зачитывался(особенно зубкова). Но тот же Зубков отдыхает перед IA-32 :)) А вообще русские книги не достаточно профессиональны(ведь не наш же проц), соответственно лучше и юзать их книги.
А насчет АПИ. Идиотство какой то, нафига винду вешать если под ней работаешь :)). А вообще и НТ и 9x вешаются глючным вызовом SetWindowsHook () :(((
Ответ отправлен: 21.01.2003, 04:43
Отправитель: DiGiT[old]
Вопрос № 2450 |
Здравствуйте Ayl.
>Какие функции винды? Почему они должны быть вызваны?
Мой ход мыслей: как вы уже ответили, обращение к порту из приложения с уровнем привелегий 3 скорее всего приведёт к генерации особой ситуации 13, наверняка можно обработать этот случай, выяснив причину возникновения особой ситуации?
Так вот например, если уж есть функции API для работы с ком портом или принтером, почему не вызвать каким-либо образом эти функции, если прошло обращение к таким портам (или их как-раз можно вызывать?) или просто, после анализа номера порта вызвать тот же in, out?
Ведь при выводе в порт принтера командой out данные выводятся, хотя out находиться в программе 3-го уровня привелегий. Интересно почему они выводятся в порт, если IOPL наверняка меньше 3? (интересен механизм этого вывода)
>Вторая часть вопроса совсем непонятна. Что имеется в виду >под простыми in и out?
Если вы посмотрите вопрос, то была просьба ответить на его вторую часть, если ответ на первую часть будет утвердительным. (хотя думаю, что теперь понятно, что имелось в виду)
Вобщем вопрос в том, происходит ли при обращении к порту из ring-3 в винде что-нибудь более грузящее тачку, чем обращение из ring-0.
Спасибо.
P.S. Некорректность постановки первого вопроса осознал, извиняюсь.
Вопрос отправлен: 20.01.2003, 14:13
Отправитель: Алексей
[Следующий вопрос >>] [Список вопросов]
Отвечает Ayl
Добрый день, Алексей!
Ну вот теперь понятно. Нет, API функции не вызываются. Во-первых, а зачем? Если ты нарушаешь закон (работать с оборудованием только через API, а не напрямую) - то это твои проблемы. Во-вторых, API функции требуют параметров. А откуда их взять? Компы еще не настолько умные, чтобы догадаться, а что собственно это существо безобразного вида хочет добиться.
Насчет обработки исключения 13 - абсолютно здравая мысль, что ОС ее обрабатывает. Иначе бы мы никогда не увидели бы ошибки "Программа выполнила недопустимую операцию и будет закрыта". Но при обработке этой ситуации ОС больше ничего не делает, а просто ругается.
Что же происходит в реальности и почему можно обращаться к портам напрямую (иногда). См. в Приложении выписку из книги Г.В.Орловского "Введение в архитектуру микропроцессора 80386" про ввод/вывод в защищенном режиме.
Надеюсь, что из этого отрывка тебе многое станет понятным.
И также понятно, что при обращении из ring3 происходит просто дополнительная проверка на соответствие битовой карты разрешения. Из ring0 выводится сразу же, потому что CPL<=IOPL в любом случае.
Приложение:
Ответ отправлен: 20.01.2003, 15:08
Отправитель: Ayl
Вопрос № 2452 |
Господа!
Извините, что не совсем по теме, но не подскажет ли мне
кто-нибудь книги или хорошие ссылки, где можно было бы
прочитать о реализации генераторов случайных чисел различными алгоритмами, да, даже суть не в реализации,
а в самих алгоритмах, где их можно достать.
Буду рад любой полезной информации. Заранее спасибо.
Вопрос отправлен: 20.01.2003, 18:04
Отправитель: Fess (lomovskih@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Andrew Vext
Приветствую Вас,
Дональд Кнут, "Искусство программирования" том 2.
Ответ отправлен: 21.01.2003, 12:20
Отправитель: Andrew Vext
Отвечает Eugene
Доброе время суток, Fess!
Посмотри этот линк. Там вроде есть то, что тебе надо.
http://www.ssl.stu.neva.ru/psw/crypto.html
Ответ отправлен: 21.01.2003, 09:28
Отправитель: Eugene
Отвечает vitya
Доброе время суток, Fess!
Книгу могу подсказать - Дональд Кнут, "Искусство Программирования", том 2. Целая огромная глава посвящена этому вопросу.
Ответ отправлен: 20.01.2003, 18:14
Отправитель: vitya
Отвечает Bob Johnson
Здравствуйте, Fess!
Как-то некоторое время назад уже был такой вопрос. Вот, нашел его (только в нем было необходимо вычислять случайные числа в диапазоне от одног до другого заданного числа):
Обычно генераторы случайных чисел дают либо числа в интервале от 0 до 1 (нецелые), либо в интервале от 0 до 32767 или 2^31 (целые).
В первом случае тебе просто необходимо вычислить два числа (пусть min и max - диапазон требуемых чисел, rnd01 - функция rnd, возвращающая числа от 0 до 1):
b = min
a = (max - min)
rnd = rnd01*a + b
А алгоритм можно взять такой:
rnd' = {11*rnd + pi}
rnd' = {exp (rnd + pi)}
rnd' = arccos (cos (rnd + 10^9))/pi
где rnd' - новое значение rnd,
rnd - предыдущее значение rnd,
{} - операция нахождения дробной части числа
pi - число pi = 3.1415926...
Ответ отправлен: 20.01.2003, 23:29
Отправитель: Bob Johnson
Отвечает Maverick
Доброе время суток, Fess!
У Юрова в практике. Кстати есть исходников неск-ко.
Чиркни на Maverick@nightmail.ru
Ответ отправлен: 21.01.2003, 14:45
Отправитель: Maverick
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (38) C / C++ (30) Perl (5) Delphi (18) Pascal (22) Basic / VBA (12) Java / JavaScript (10) PHP (6) MySQL / MSSQL (5) |
Пользователю Windows 95/98/Me (36) Windows NT/2000/XP (29) "Железо" (34) Поиск информации (19) |
Администратору Windows NT/2000/XP (12) Linux / Unix (14) |
Юристу Гражданское право (10) Семейное право (6) Трудовое право (5) КоАП (4) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||