Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 454
от 26.12.2002, 19:50
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2276 Отправлено ответов: 6862 Активность: 301.4 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Traish Статус: Опытный Общий рейтинг: 130.17 [Подробней >>] |
Maverick Статус: Профессиональный Общий рейтинг: 139.44 URL: Задачи по ассемблеру Телефон: 89039415024 (BeeLine GSM) [Подробней >>] |
Dark_Lord Статус: Профессиональный Общий рейтинг: 121.61 [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 118.74 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 114.06 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Александр Статус: Доверительный Общий рейтинг: 109.89 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 121.79 URL: Страничка рассылки по Паскалю Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 152.12 [Подробней >>] |
Andrew Vext Статус: Опытный Общий рейтинг: 107.95 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 114.96 URL: Мой сайтик... [Подробней >>] |
LIFO Статус: Профессиональный Общий рейтинг: 119.87 URL: наш сайт Телефон: 8 01710 24758 [Подробней >>] |
St Статус: Опытный Общий рейтинг: 114.3 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.09 [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 108.34 URL: Страничка обо мне и моих друзьях [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 147.98 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.41 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 2228. Здравствуйте, не могли бы Вы момочь ещё кое в чём: Как работать с паролями( сохранять, проверять, из... (ответов: 5)
Вопрос № 2229. Хана Т.е. меня с таким рефом далеко послали и сказали быстро писать другой. Меня это задолбало! Где ... (ответов: 3)
Вопрос № 2230. Ни как не получается делать ассемблерные вставки в С++ (borland C++ builder 6) Допустим хочу сделат... (ответов: 1)
Вопрос № 2231. Здравствуйте уважаемые эксперты! Прошу прощения за оффтопик, но вам это как-то ближе. Проблема жизне... (ответов: 2)
Вопрос № 2232. Добрый день! Допустим есть такая прога: CSEG segment assume CS:CSEG, DS:CSEG, ES:CSEG, SS:CSEG org 1... (ответов: 5)
Вопрос № 2233. Доброго времени суток Эксперты. У меня тут маленькая загвоздочка, думаю с вашей помошью она решится.... (ответов: 5)
Вопрос № 2234. Приветствую Вас! Как написать письмо кому-нибудь одному, а то Ваших мыльных адресов не видно на стра... (ответов: 3)
Вопрос № 2235. Подскажите, пожалуйста, как куда надо "вешать" обработчик прерывания CTRL+ALT+DELETE... (ответов: 4)
Вопросов: 8, ответов: 28
Вопрос № 2228 |
Здравствуйте, не могли бы Вы момочь ещё кое в чём:
Как работать с паролями( сохранять, проверять, изменять)
Речь идёт про ДОС.
{Задание:Пароль сохранять (и изменять) как переменную
окружения (см. команду set). Если соответствующая переменная (например, passwd) не определена, паролем считать пустую строку}
Вопрос отправлен: 21.12.2002, 19:56
Отправитель: Hammer
[Следующий вопрос >>] [Список вопросов]
Отвечает Traish
Приветствую Вас, Hammer!
В каком смысле "работать с паролями"? Задай вопрос поконкретнее...
Ответ отправлен: 22.12.2002, 18:00
Отправитель: Traish
Отвечает Maverick
Здравствуйте, Hammer!
Писал прогу, когда тока начинал учиться асму, она примерно это и делает.
Она корявая, но там все понятно.
Короче она шифрует файл и спрашивает пароль потом для расшифровки, сохраняет его в зашифрованном виде и дописывает в конец файла. При расшифровки запрашивает его и если он верен то расшифровывает файл и обрезает пароль.
Прога неоптимизирована, т.к. писал для самообучения.
Если возникнут вопросы, то мыль, подъясню.
Приложение:
Ответ отправлен: 22.12.2002, 11:01
Отправитель: Maverick
Отвечает Dark_Lord
Приветствую Вас, Hammer!
Я не понял две вещи! Во-первых почему вопрос персональный, во-вторых в смысле работать с паролями!?
Так-же как с обычными строками, выражайся более конкретно, что тебе нужно сделать?
Ответ отправлен: 21.12.2002, 22:35
Отправитель: Dark_Lord
Отвечает ASMодей
Добрый день, Hammer!
Дело в том, что ДОСу абсолютно все равно с паролями вы работаете
или нет, для него все пароли - это строки, поэтому он и работает
с ними как со строками.
Насчет переменных окружения: в структуре PSP твоей программы, по
смещению 2Ch хранится сегментный адрес этих переменных. Хранятся
они в следующем формате:
name=value0name=value0...name=value00
Так что для использования своей переменной придется ее искать среди
всех этих строк. Кстати я не уверен, что ты сможешь изменить пароль
из своей программы, так как по-моему программе передается лишь
копия этих переменных и при выходе из программы изменения не будут
сохраняться.
PS. Мне кажется, что хранить пароль в файле намного удобнее чем
в переменных окружения.
Ответ отправлен: 22.12.2002, 11:26
Отправитель: ASMодей
Отвечает baldr
Добрый день, Hammer!
Не совсем понятно что имеется в виду. Если хранить пароли в переменных окружения, то это
во-первых, глупо, потому что если они будут не зашифрованы, то доступ к ним получит любая
программа и даже сам пользователь, если он хоть раз видел Dos Navigator. А во-вторых, все равно
использовать эти пароли будет, наверное, только одна программа? Тогда лучше уж прямо в ней
и хранить эти пароли. А программа, думаю, будет резидентом.
И вообще, что за задача такая? :-//
Ответ отправлен: 24.12.2002, 01:35
Отправитель: baldr
Вопрос № 2229 |
Хана
Т.е. меня с таким рефом далеко послали и сказали быстро писать другой. Меня это задолбало! Где можно надыбать чего-нибудь научного про вири? Типа 'Вирус-вредоносная ля-ля-ля%:?%: программа, которая тра-ля-ля... использует технологии ...'.Сказали, что это подойдет :(
Красивых девчонок,
DyC
Вопрос отправлен: 21.12.2002, 20:01
Отправитель: DyC (dyc@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Здравствуйте, DyC!
Напиши мне на мыло примерный план реферата, я тебе дам доков по этой теме. Так бы сразу скинул, но у меня их много, не все же слать.
Ответ отправлен: 22.12.2002, 10:48
Отправитель: Maverick
Отвечает Александр
Здравствуйте, DyC!
Попробуй поискать энциклопедию вирусов от товарища Касперского. У меня когда-то была такая книжка. Если каспер не жмот, то попытайся поискать на его сайте(www.avp.com). Также существовала в природе книжка "Пишем вирус... и антивирус". Вот. Но её я так и не сумел поймать...
Ответ отправлен: 22.12.2002, 20:33
Отправитель: Александр
Отвечает Sensey
Здравствуйте, DyC!
На рефератных сайтах, на сайте касперского, ЧЕРЕЗ ПОИСКОВИК!!!
Ответ отправлен: 23.12.2002, 14:24
Отправитель: Sensey
Вопрос № 2230 |
Ни как не получается делать ассемблерные вставки в С++ (borland C++ builder 6)
Допустим хочу сделать так, весь интерфейс нарисовать в билдере, а все обработчики на ассемблере...
Если кто сможет привести пример вот такой проги :
Форма с кнопкой на С++ а обработчик кнопки - ассемблерная вставка, при нажатие выскакивает мэссажбокс...
Вроде всё написал, а при компайле, куча ошибок...
Вопрос отправлен: 22.12.2002, 02:00
Отправитель: spaces
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Приветствую Вас, spaces!
Ничего не могу тебе сказать про С++ Builder 6, но в пятом был такой глюк - если ты хоть строчку добавляешь на ассемблере, то он перекомпилирует весь файл через ассемблер (пишет: restarting compile through assembler). Это достаточно тупо, и некоторые участки кода перестают таким образом компилироваться вообще (ну я уже не говорю о скорости). Я смог только добавить в проект отдельный файл на асме и в нем реализовать нужные мне фунции.
Ответ отправлен: 23.12.2002, 17:40
Отправитель: Bob Johnson
Вопрос № 2231 |
Здравствуйте уважаемые эксперты!
Прошу прощения за оффтопик, но вам это как-то ближе. Проблема жизненной важности. Имеются исходники программы и BAT-файл для ее компилирования
ftg loading a2p.ftg
flink workprog.exe a2p.~xe prog.pic
Вроде как программа написана на Forth'е. Точнее на одной из его модификаций. Так вот. Не встречался ли кто с ним (с версией, транслятор и линковщик которой имеют имена ftg и flink)? Если да, то где в сети можно их найти (я искал, но не нашел)? Может, вопрос не совсем корректный и без исходников трудно что-либо сказать, но все-таки...
Заранее благодарен.
Вопрос отправлен: 22.12.2002, 14:05
Отправитель: Shurik (acesoft@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Andrew Vext
Добрый день, Shurik!
Ответ отправлен: 23.12.2002, 12:50
Отправитель: Andrew Vext
Отвечает Portnov
Добрый день, Shurik!
Подозреваю, что это FigForth. Если вы думаете, что это вообще Forth, то см. www.forth.org.ru, там куча всего по Форту, в т. ч. компиляторы и доки к ним.
С уважением, Portnov.
Ответ отправлен: 23.12.2002, 21:51
Отправитель: Portnov
Вопрос № 2232 |
Добрый день!
Допустим есть такая прога:
CSEG segment
assume CS:CSEG, DS:CSEG, ES:CSEG, SS:CSEG
org 100h
Start:
jmp far ptr 3000:0500h
CSEG ends
end Start
Выдает такую ошибку: A2096: segment, group, or segment register expected.
Что сдесь не правильно?
Заранее спасибо!
Вопрос отправлен: 22.12.2002, 14:59
Отправитель: sw
[Следующий вопрос >>] [Список вопросов]
Отвечает LIFO
Приветствую Вас, sw!
Нужно чтобы например был регистр
jmp far ptr es:[0500h]
а то что у тебя это дизассемблерный вариант
Ответ отправлен: 22.12.2002, 17:32
Отправитель: LIFO
Отвечает Traish
Добрый день, sw!
Ты можешь испоьзовать опкоды
db 0eah
dw 0
dw 0
или помещаешь в сегментный регистр то, что тебе нужно и:
jmp es:[offset].
Ответ отправлен: 22.12.2002, 17:54
Отправитель: Traish
Отвечает Bob Johnson
Приветствую Вас, sw!
Создатели компиляторов для ассемблера решили, что такую команду пользователям использовать незачем. Поэтому ассемблер ее не знает. Так что пиши руками:
EA 00 05 00 30.
Ответ отправлен: 24.12.2002, 22:40
Отправитель: Bob Johnson
Отвечает Dark_Lord
Здравствуйте, sw!
Нет вида программы(использования памяти) у тебя должно быть tiny (.model tiny)!
Ответ отправлен: 22.12.2002, 20:18
Отправитель: Dark_Lord
Отвечает Maverick
Здравствуйте, sw!
Tasm не любит таких понтов: jmp far ptr 3000:0500h
Напиши так:
db 0eah
dw 0500h
dw 3000h
И все зафурыкает.
Ответ отправлен: 23.12.2002, 07:03
Отправитель: Maverick
Вопрос № 2233 |
Доброго времени суток Эксперты.
У меня тут маленькая загвоздочка, думаю с вашей помошью она решится.
В приложении прожка, я пытался взять хендл этой программы и вывести его в MsgBox, но чего то не катит. Точнее, как я понял у меня просто не выходит вывести число в MsgBox. Любое чило трактуется как символ с этим номером в т. ASCII. Пробовал и 30h отнимать, не получается. Как же быть? Посоветуйте чего нибудь please.
Заранее благодарен.
Приложение:
Вопрос отправлен: 22.12.2002, 15:13
Отправитель: Евгений
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, Евгений!
Тебе нужно число преобразовать в строку. Т.е. MessageBox берет у тебя параметр - указатель на строку. Там должен быть текст по любому. Вот тебе нужно туда текст и засунуть. Но тебе немного повезло - в Windows есть функция wsprintf, которая в состоянии преобразовать целое число в текст (а вот дробное... нет):
push число
push offset format
push offset buffer
call _wsprintfA
add esp, 12
...
buffer db 256 dup (?)
format db '%i', 0
и тогда в buffer у тебя будет число + 0 как конец строки.
Ответ отправлен: 24.12.2002, 22:41
Отправитель: Bob Johnson
Отвечает Dark_Lord
Доброе время суток, Евгений!
для вывода еах можешь использовать мою процедуру (см. приложение). Вставь всё что там есть в твою программу а потом в том месте где нужно вывести еах напиши call message!
Приложение:
Ответ отправлен: 22.12.2002, 20:24
Отправитель: Dark_Lord
Отвечает St
Привет, Евгений!
Для того чтобы вы могли увидеть ваше число в десятичном (если я правильно понял, или шестнадцатиричном?) виде вам нужно перевести содеджимое регистра eax в строку содержащцю коды цифр. Посылаю процедуру (TASM) такого преобразования для 16-битного числа, ее легко можно переделать для 32-битных чисел.
St
Приложение:
Ответ отправлен: 22.12.2002, 22:42
Отправитель: St
Отвечает vitya
Доброе время суток, Евгений!
Так ведь тебе сначала надо получить строку. Для этого ты должен с получать по очереди символы. Делишь на 10, берешь остаток прибавляешь 30h - получаешь, самый правый символ и так далее двигаешься налево... и только потом выводишь эту полученную строчку. Да и не забудь про то, что в конце надо поставить 0.
Ответ отправлен: 23.12.2002, 09:34
Отправитель: vitya
Отвечает Gibbel
Приветствую Вас, Евгений!
Прототип функции MessageBox:
int MessageBox(
HWND hWnd, //Хэндл родительского окна
LPCTSTR lpText, //Строка (!) текста
LPCTSTR lpCaption, //Строка заголовка окна
UINT uType //Тип Message Boxа
);
Таким образом, тебе для начала необходимо хэндл проги преобразовать из числа в строку, а затем уже выводить, передавая вторым параметром адрес этой строки.
Ответ отправлен: 23.12.2002, 10:56
Отправитель: Gibbel
Вопрос № 2234 |
Приветствую Вас!
Как написать письмо кому-нибудь одному, а то Ваших мыльных адресов не видно на страницах рассылки.
Maverick, план таков:
1.Интро.
Чего это такое-вирь, с чем его едят, когда стали
повляться, etc.
2.Классификация
Тут ясно
3.Механизмы заражения.
Куда дописываются, как ищут свежее мясо, как передают
управление куда им надо, etc.
4.Как защищаются от антивирусов.
Обман анализатора, или чего там?
5.Шифрование.
Олиго-,поли- морфизм, перемутация, etc.
6.Резидент.
Немного об этом.
7.Деструктивные функции
...
Вроде ничего не забыл?
Предпологаю все это про win, а то много и долго будет, а январь уже скоро.
Большое спасибо!
DyC
Вопрос отправлен: 22.12.2002, 18:23
Отправитель: DyC (dyc@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Добрый день, DyC!
Короче под вин у меня мало, но под дос я тебе найду весь материал. Можно основной удар сделать в виде доса, и в конце кратко о вин, устроит так?
У бургера пресс инфы, но она старая и какая то ламерская, но от туда можно навыдерать кусков.
"4.Как защищаются от антивирусов.
Обман анализатора, или чего там?"
Это к господину Касперскому, ни один автор тебе не даст свои примочки для реферата, но старые у меня есть, принцип их понять можно. Еще и по антиотладке триков дам.
Вобщем наваяем, препод залюбуется и станет вирмаком :)
Жалко, что не курсовик :(
Мыло: Maverick@nightmail.ru
У тебя выход в инет есть?
А может препода удовлетворят пара-тройка живых вирей на его компе? :)
Ответ отправлен: 23.12.2002, 07:03
Отправитель: Maverick
Отвечает masquer
Приветствую Вас, DyC!
Заходишь на сайт 29A (ищешь в поисковике) качаешь, скажем, последние три выпуска, читаешь, или сразу берешь любой исходник, ежели с аглицким напряг, идешь на сайт z0mbie из их команды и оттуда берешь инфу или находишь все выпуски Infected Voice.
Ответ отправлен: 23.12.2002, 11:38
Отправитель: masquer
Отвечает LIFO
Доброе время суток, DyC!
Это вы типа журнал собрались делать,а!
Идея конечно хорошая, но ведь их уже столько есть(у меня дома около 30 разных журналов только с России и еще столько же с других стран), так что инфой могу помочь.
Ответ отправлен: 25.12.2002, 10:30
Отправитель: LIFO
Вопрос № 2235 |
Подскажите, пожалуйста, как куда надо "вешать" обработчик прерывания CTRL+ALT+DELETE
Вопрос отправлен: 22.12.2002, 19:06
Отправитель: Алексей
[Следующий вопрос >>] [Список вопросов]
Отвечает Александр
Доброе время суток, Алексей!
Туда же куда и другие обработчики клавиатуры, на int 09h. При нажатии клавиши DELETE проверяешь флаги для ctrl и alt. Если всё правильно, то делаешь свои "грязные" дела. Я помню была малюсенькая такая программа kill.com которая по CTRL+ALT+DELETE переспрашивала действительно ли я хочу презагрузиться.
Ответ отправлен: 22.12.2002, 20:44
Отправитель: Александр
Отвечает Andrew Vext
Приветствую Вас, Алексей!
На стенку в рамочке :-)
Перехватывайте аппаратное прерывание от контроллера клавиатуры.
Ответ отправлен: 23.12.2002, 13:02
Отправитель: Andrew Vext
Отвечает Maverick
Приветствую Вас, Алексей!
Насколько я знаю, винда этого не допустит, это святыня...
Ответ отправлен: 23.12.2002, 07:05
Отправитель: Maverick
Отвечает Ayl
Здравствуйте, Алексей!
Обработчик прерывания CTRL+ALT+DELETE? Это что за прерывание такое? :-)
В общем, тебе нужно вешаться на прерывание от клавиатуры. Его номер - 9. В нем ты должен проверить, какой скен-код выдал контроллер клавиатуры (байтовый порт 60h).
Если это не 53h, то передаешь управление старому обработчику прерывания 9 (ОО). Иначе проверяешь значение битов 2 и 3 в байте по адресу 0000:0417h. Если они оба установлены в единицу, то это значит, что ты отловил нажатие CTRL+ALT+DELETE. Иначе тебе опять надо вызвать ОО.
В случае обнаружения CTRL+ALT+DELETE ты должен послать контроллеру клавиатуры подтверждение получения скен-кода (
in al, 61h
mov ah, al
or al, 80h
out 61h, al
mov al, ah
out 61h, al
) и сбросить блокировку контроллера прерываний (
mov al, 20h
out 20h, al
).
После этого можешь выполнить свои действия по реакции на это нажатие.
Учти, что перехватить эту комбинацию ты сможешь только под чистым DOS'ом. Под виндой - фиг получится.
Ответ отправлен: 23.12.2002, 15:32
Отправитель: Ayl
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (40) C / C++ (29) Perl (5) Delphi (22) Pascal (23) Basic / VBA (11) Java / JavaScript (7) PHP (4) MySQL / MSSQL (5) |
Пользователю Windows 95/98/Me (32) Windows NT/2000/XP (27) "Железо" (31) Поиск информации (13) |
Администратору Windows NT/2000/XP (11) Linux / Unix (14) |
Юристу Гражданское право (7) Семейное право (3) Трудовое право (4) КоАП (2) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||